Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
bhavinvyas
Active Contributor

List of issues faced during the flat file generation from APD.

1> Header name for key figures displaying with technical names in flat file.

2> Negative sign of key figures like amount and quantity displaying post values in flat file.

      Which will result in wrong Total Amount in flat file.

      i.e.     Amount

                 $1000 –

3> Leading zeros has been added in to the key figures of APD.

4> Values are getting rounded off. No decimal places displayed in the flat file.

Solution:

First create Z info objects as per your header field names length.

  1. i.e. ZCHAR20 for field name length 20

Assign these Z info objects in your target field of APD Routine as below,

             

Write following login in routine tab,

DATA: ls_source TYPE y_source_fields,
ls_target
TYPE y_target_fields.


ls_target
-Char1 = 'ABC'.
ls_target
-Char2 = 'XYZ'.

APPEND ls_target to et_target.

data : lv_value type p length 16 DECIMALS 2(Add decimal places as per your need)

LOOP AT it_source INTO ls_source.
    

           *    MOVE-CORRESPONDING ls_source TO ls_target.
                    ls_target
-Char1 = ls_source-Char1.
                    ls_target
-Char2 = ls_source-Char2.
          
*    ls_target-KYF_0001 = ls_source-KYF_0001.
                    
clear : lv_value.
                    
if ls_source-KYF_0001 is not initial.
                        lv_value
= ls_source-KYF_0001.
                              
if lv_value is not initial.
                                  ls_target
-KYF_0001 = lv_value.
                                   
if lv_value lt 0.
                                        
SHIFT ls_target-KYF_0001 RIGHT DELETING TRAILING '-'.
                                        
SHIFT ls_target-KYF_0001 LEFT DELETING LEADING ' '.
                                        
CONCATENATE '-' ls_target-KYF_0001 INTO ls_target-KYF_0001.
                                   
endif.
                              
endif.
                      
else.
                             ls_target
-KYF_0001 = '0.00'.
                      
endif.

Note: Here Char1, Char2 is your info object technical name.

           ABC, XYZ is field name which you want to display in header field of flat file.

3 Comments
Labels in this area