Help REQ receiver FILE CC CONFIG ...POINTS WILL BE GIVEN!!!!

Hi I am having problem configuring File receiver CC. This is a IDOC to File scenario... My payload is
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Test_MT xmlns:ns0="urn:test.com">
<Record>
<Target>
<ProdNum>111</ProdNum>
<Weight>10</Weight>
</Target>
<Chacteristics>
<Value>10</Value>
<Value>11</Value>
</Chacteristics>
<Line>
<Line1>553</Line1>
<Line2>344</Line2>
<Line3>222</Line3>
<Line1>454</Line1>
<Line3>324</Line3>
</Line>
</Record></ns0:Test_MT>
My Receiver file adapter configuration is
RecordsetStructure: Target,Chacteristics,Line
Target.addHeaderLine     0
Target.fieldSeparator     ,
Target.fieldFixedLengths 5,4
Chacteristics.addHeaderLine     0
Chacteristics.fieldSeparator     ,
Chacteristics.fieldFixedLengths     5
Line.addHeaderLine     0
Line.fieldSeparator     ,
Line.fieldFixedLengths 3,3
Record.endSeparator     'nl'
The output .txt file I get is
111,10
10
11
553,344,222
454,324
In the last line we see that <Line2> field has no value..What I wanted is in the last Line it should have been
453, , 324
So what shlould i do ???? shld i configure the File CC or the make some changes in the mapping ????????? and I wanted all the values to be in one line............  POINTS WILL BE GIVEN

Hi,
If you are using fixed field lengths in the receiver file adapter then , it expects all the record structure should fill with full length or full length of spaces.
So if you don't get any value from Idoc for any of the fields, then make sure that you are passing atleast spaces for that field. So exact length of the field.
For this you can make use of <b> if exists and else if</b> built in function in the mapping.
Regards,
Moorthy

Similar Messages

  • Good points will be given if question sloved

    hello Gurus!
                       required Purchase requisation outstanding aging report code.
    plz help me in this.thnx in advance.Good points will be given if question sloved.
    regards
    Rakhi.

    hello Gurus!
                       required Purchase requisation outstanding aging report code.
    plz help me in this.thnx in advance.Good points will be given if question sloved.
    regards
    Rakhi.

  • Help Required COMPLEX  MAPPING !!!!! POINTS WILL BE GIVEN !!

    Hii I am doing a file sender config and my message is something like this
    C1TN4028260000PP345700210 2620582 005 0000000000000072020061802 000000000000000000
    C2TN402826000000001037331742557076 0000071641086338975600000110230000394007
    C3TN4028260000000010000071641086338975600097BP 0005 00000000030000000000
    here the C1, C2, C3 are unbounded it is explained below
    This is only a part of the Payload............
    my Datatype format is
    OCCURANCES
    <Data_DT>
    <Record> 1
    <Header> 0..1
    There are many fields....
    </Header>
    <Control_1> 0...unbounded, this is the C1 record
    There are many fields....
    </Control_1>
    <Control_2> 0...unbounded, this is the C2 record
    There are many fields....
    </Control_2>
    <Control_3> 0...unbounded, this is the C3 record
    There are many fields....
    </Control_3>
    <Line> 0..1
    There are many fields....
    </Line>
    </Record>
    Only write E1EDL37 segment if subsequent "C3" record contains C3_Data(This is one of the fields in Segment Control_3) > 0.  If C2_Num = C3_Num, then only one E1EDL37 segment needs to be written for this "C2" record.  If C2_NUM <> C3_NUM, then one E1EDL37 segment has to be written for the C2 record and one has to be written for the C3_NUM for the C3 record.  In this case one E1EDL44 segment must be written with each unique C2_NUM.
    This is a standard Idoc,
    Part of the structure,
    E1EDL37   unbounded
           E1EDL44   unbounded, its in item level of E1EDL37

    Hai,
      <b>Only write E1EDL37 segment if subsequent "C3" record contains C3_Data(This is one of the fields in Segment Control_3) > 0.</b>
      In message mapping  choose <u><b>arithematic options</b></u> like if-else and compare ur data record with the condition and do mapping accordingly.
    <b>If C2_Num = C3_Num, then only one E1EDL37 segment needs to be written for this "C2" record.</b>
      Take if-else operator in  Graphical mapping and compare both C2_NUM and C3_NUM and if true map C2_Num to E1EDL37.
    <b> If C2_NUM <> C3_NUM, then one E1EDL37 segment has to be written for the C2 record and one has to be written for the C3_NUM for the C3 record. In this case one E1EDL44 segment must be written with each unique C2_NUM.</b>
      check for condition C2_NUM <> C3_NUM using if-else operator and if true map corresponding C2 record to E1EDL37  and if false map corresponding C3_NUM to required segment.
      To write E1EDL44 segment for unique C2_NUM....check the flds of C2 record with each other for uniqueness and map the corresponding unique C2_NUM to each E1EDL44.
    I hope this will help u to get through ur mapping.
    Cheers,
    Prasanthi.

  • Connecting to a Dell Display (NOTE: POINTS WILL BE GIVEN!)

    Hi all-
    I have a couple of questions about connecting my Macbook Aluminum to a Dell monitor. I was considering [this one|http://accessories.us.dell.com/sna/products/Displays/productdetail.aspx?c=u s&l=en&s=dhs&cs=19&sku=320-8103]. So, I had several questions. Answers to any or all of them will be much appreciated and of course awarded with the appropriate helpful and answered stars.
    *Question #1:* +Will this monitor be compatible with my Macbook if I get the appropriate Mini DisplayPort to VGA/DVI cable?+
    *Question #2:* I see that this monitor comes with both a VGA and a DVI cable and ports to attach them. The VGA cable comes pre-attached to the monitor, so if there isn't a difference I would like to use that one. +Is there any difference between using a VGA cable or a DVI cable to attach to a monitor? Will they give you different capabilities?+
    *Question #3:* +Will using a Mini DisplayPort to VGA/DVI adapter also transfer the sound to the monitor?+ I am considering getting a "soundbar" to accompany it to play the audio off of my Mac, but I was wondering +how the audio is going to get from my Macbook to the monitor in the first place?+
    *Question #4:* The monitor also has 4 USB 2.0 connectors, and comes with a USB "upstream" connector, as well as a USB "upstream" port on the monitor. +Will this allow me to connect my Mac to the monitor in such a way that the USB ports will be usable?+
    Any and all comments will be much appreciated.
    Thank you,
    Sasha

    "Will this monitor be compatible with my Macbook if I get the appropriate Mini DisplayPort to VGA/DVI cable?"
    Yes, but why would you do that? Why not use a mini DP-to-DP cable?
    "I see that this monitor comes with both a VGA and a DVI cable and ports to attach them. The VGA cable comes pre-attached to the monitor, so if there isn't a difference I would like to use that one. Is there any difference between using a VGA cable or a DVI cable to attach to a monitor? Will they give you different capabilities?"
    Yes.
    "Will using a Mini DisplayPort to VGA/DVI adapter also transfer the sound to the monitor? I am considering getting a "soundbar" to accompany it to play the audio off of my Mac, but I was wondering how the audio is going to get from my Macbook to the monitor in the first place?"
    What is a "soundbar"?
    "The monitor also has 4 USB 2.0 connectors, and comes with a USB "upstream" connector, as well as a USB "upstream" port on the monitor. Will this allow me to connect my Mac to the monitor in such a way that the USB ports will be usable?"
    Yes.

  • Help! Receiving "File is not a resource file" message when trying to open my VI.

    I have been working on this VI for a few days now and it seems to have been corrupted (for no apparent reason) just as I was adding the finishing touches.  I have seen in a related post that <CR><LF> delimiters can get converted by say a mail server, but I was not emailing the VI or trying to open with another program.  I am attaching the VI if anyone can help.  LabVIEW did auto save my project however the autosaved project still references the corrupt VI!?!  Can anyone please help?
    Attachments:
    ABMv3.vi ‏147 KB

    The last thing I did was use the Current VI's Path as the path to open a configuration file using the Config File VI's.  I think this had something to do with it as I have seen at least one discussion where the same thing happened.  Have you ever heard of this?  I'm pretty sure LabVIEW corrupted the file (but possibly with my help).  I have a backup that's about a day old but was hoping the file could be fixed.

  • Backup aborted - Unable to receive file 'startup-config'

    I'm seeing this on some 2950s and an old 2924 that I have.  Is this issue related to the age of the switches?  It's picking up drivers and successfully testing credentials.  So I'm just checking.

    It doesn't appear to be the lack of a startup-config file.  I checked the 3 affected devices.  The issue is possible destinations.  There is no option in the IOS running on these devices to set the destination as "http:"  See the output below for copy startup-config ?
    flash:          Copy to flash: file system
    ftp:            Copy to ftp: file system
    null:           Copy to null: file system
    nvram:          Copy to nvram: file system
    rcp:            Copy to rcp: file system
    running-config  Update (merge with) current system configuration
    startup-config  Copy to startup configuration
    system:         Copy to system: file system
    tftp:           Copy to tftp: file system
    As much as I would say this wouldn't be a Cisco OnPlus priority, one possible coding workaround might be a lightweight tftp server running on the OnPlus device and a modification of the code to attempt http: first and on failure to startup the tftp server and attempt to use that method and then shut the tftp server back down, for security reasons.  Just a thought.

  • MAPPING CHALLANGE.....POINTS WILL BE GIVEN!!

    Hi i am doing a File2Idoc scenario, i am stuck in the mapping ...
    the file is something like this...its only a part of payload
    C1TN4028260000PP345700210 2620582 005 0000000000000072020061802 000000000000000000
    C2TN402826000000001037331742557076 0000071641086338975600000110230000394007
    C3TN4028260000000010000071641086338975600097BP 0005 00000000030000000000
    here the C1, C2, C3 are unbounded it is explained below
    This is only a part of the Payload............
    my Datatype format is
    OCCURANCES
    <Data_DT>
    <Record> 1
    <Header> 0..1
    There are many fields....
    </Header>
    <Control_1> 0...unbounded, this is the C1 record
    There are many fields....
    </Control_1>
    <Control_2> 0...unbounded, this is the C2 record
    There are many fields....
    </Control_2>
    <Control_3> 0...unbounded, this is the C3 record
    There are many fields....
    </Control_3>
    <Line> 0..1
    There are many fields....
    </Line>
    </Record>
    Only write E1EDL37 segment if subsequent "C3" record contains C3_Data(This is one of the fields in Segment Control_3) > 0. If C2_Num = C3_Num, then only one E1EDL37 segment needs to be written for this "C2" record. If C2_NUM <> C3_NUM, then one E1EDL37 segment has to be written for the C2 record and one has to be written for the C3_NUM for the C3 record. In this case one E1EDL44 segment must be written with each unique C2_NUM.
    This is a standard Idoc,
    Part of the structure,
    E1EDL37 unbounded
    E1EDL44 unbounded, its in item level of E1EDL37

    Hai,
      <b>Only write E1EDL37 segment if subsequent "C3" record contains C3_Data(This is one of the fields in Segment Control_3) > 0.</b>
      In message mapping  choose <u><b>arithematic options</b></u> like if-else and compare ur data record with the condition and do mapping accordingly.
    <b>If C2_Num = C3_Num, then only one E1EDL37 segment needs to be written for this "C2" record.</b>
      Take if-else operator in  Graphical mapping and compare both C2_NUM and C3_NUM and if true map C2_Num to E1EDL37.
    <b> If C2_NUM <> C3_NUM, then one E1EDL37 segment has to be written for the C2 record and one has to be written for the C3_NUM for the C3 record. In this case one E1EDL44 segment must be written with each unique C2_NUM.</b>
      check for condition C2_NUM <> C3_NUM using if-else operator and if true map corresponding C2 record to E1EDL37  and if false map corresponding C3_NUM to required segment.
      To write E1EDL44 segment for unique C2_NUM....check the flds of C2 record with each other for uniqueness and map the corresponding unique C2_NUM to each E1EDL44.
    I hope this will help u to get through ur mapping.
    Cheers,
    Prasanthi.

  • Custom Table --Points will be given to your suggestion

    Hi Folks,
    This is a requirment that I have. Any suggestion on where to begin and where to head?
    Create an application that will be used to maintain the custom table.  Read only access of this table to certain user. 
    The custom table maintenance application should allow a user to copy an existing record on the custom table and use this as the basis to create a new record.
    Maintenance application should not allow any records to be deleted.  Instead, use a flag to indicate whether that record is active or inactive.  When adding an asset, the system needs to check the flag on the corresponding record on the custom table to verify it is an active record.
    Maintenance application must verify that any information entered in the new custom table is valid.  The following fields must be validated:
    Company Code
    Asset Class
    evaluation group
    All Depreciation Keys & Lives
    When creating an asset, the input screen requires asset class and company code be entered.   The user should not be allowed to go to the next screen until the combination of asset class and company code has been validated against the custom cross-reference table. 
    When entering the asset class, the lookup should show only the valid asset classes for the entered company code, assuming the company code has been provided by the user.When adding a new record to the custom cross-reference table, the status flag should be defaulted to active. 
    My thinking is I will create a Z table and have the ABAP team create a custom
    T-code that will maintain this table and give the access to the user specified by the business. What user exit, if any would you think that needs to be maintained in the table for populating certain asset class/evaluation group relevant to the company code or vise versa ? My main question is about how do I maintain the table.
    Thanks in Advance for any info you provide and everyone will get points for the relevant info that they provide.
    Rob

    Thanks both of you. As a functional guy, I guess I should only mention what tables and fields will be affected for the creation of the new custom table. And do I need to mention anything about the maintenance application or ABAPers will be well aware what they have to do to create the maintenance application?
    My thinking is I will tell the ABAPers to create the maintenance application (isn't this a custom T-Code ? ) And once they create this custom T-code, I will tell them that it will be used against the custom table to verify the validity of the data in that custom table. Also, 2 sets of role are to be defined and these are to be linked to this custom T-code (probably the role of security). one of the roles maintains the data in the custom table through copying and creating the asset master record from the custom table and the other role has the read only access.
    Also, for example if asset class = 0001 and company code = 0001, my requirement is to make sure that only evaluation group 2 that is valid for the combination of asset class 0001 and company code = 0001 be populated, when a user presses F4 and tries to choose one set of evaluation group 2. Does this make sense? Well, do we need user exit for this? My thinking is because evaluation group is not the function of asset class and company code. so, if someone has to select the evaluation group, they will be shown the list of evaluation group that have been defined in config (as I understand, evaluation groups are not assigned to company code/asset class directly in the config, just like business area is not assigned to company code directly). Any suggestions? let me give you the requirement once again and may be you can figure out a little bit better.
    <b><b>Provide a method to maintain a cross-reference table of valid codes as provided by the business.  Depreciation keys and lives will be determined based on a combination of company code, asset class, and equipment type.  
    Create an application that will be used to maintain the custom table.  The table will be updated by the Centralized Fixed Assets role that will reside in Corporate Accounting.  The Fixed Assets Business role will need read-only access to the table. 
    The custom table maintenance application should allow a user with the Centralized Fixed Assets role to copy an existing record on the custom table and use this as the basis to create a new record.
    Maintenance application should not allow any records to be deleted.  Instead, use a flag to indicate whether that record is active or inactive.  When adding an asset, the system needs to check the flag on the corresponding record on the custom table to verify it is an active record.
    Maintenance application must verify that any information entered in the new custom table is valid.  The following fields must be validated:
    Company Code
    Asset Class
    Equipment Type
    All Depreciation Keys & Lives
    GL Account (If it is determined that this will reside on the custom table)
    If any of the fields are not valid, as determined by the validation above, return a message stating information is not valid.
    When creating an asset, the input screen requires asset class and company code be entered.   The user should not be allowed to go to the next screen until the combination of asset class and company code has been validated against the custom cross-reference table. 
    When entering the asset class, the lookup should show only the valid asset classes for the entered company code, assuming the company code has been provided by the user.
    When selecting the equipment type, only display valid equipment types for the company code and asset class that were previously selected.
    When a depreciation key is assigned to an asset, verify that it is a current valid depreciation key by checking the effective dates of that depreciation key prior to assigning to an asset.
    Exception to standard field value assignments: 
    In addition to company code, asset class, and equipment type, when Asset_Class = RT_CC and Equip_Type = 0201, then the salvage value will be $2500.
    Exception to standard field value assignments: 
    In addition to company code, asset class, and equipment type, when Asset_Class = RT_CC and Equip_Type = 0205, then the depreciation keys for area 10 is ZDYC and area 11 is ZNYC.</b>
    Thanks again for your time to look at my issue, and I really appreciate your suggestions.
    Rob

  • Events not triggering in alv list, point will be given

    Hi friends,
          I am using reuse_alv_list_display fm to display data.
    and i am using reuse_alv_events_get fm to trigger events.
    but, top_of_page, event is not triggering,
    more precisely , the subroutine is not getting recognized by system.  how to rectify this.
    Check my code.
    *& Report  ZSEN_SERVICETAX_GTA
    REPORT  zsen_servicetax_gta NO STANDARD PAGE HEADING LINE-COUNT 100.
    *****************************************TABLES USED**********************************************************************
    *TABLES: BSIS,  "Accounting: Secondary Index for G/L Accounts
           BSAS,  "Accounting: Secondary Index for G/L Accounts (Cleared Items)
           LFA1.  "Vendor Master (General Section).
    *****************************************WORK AREA / INTERNAL TABLE DECLARATION******************************************
    TYPE-POOLS: slis.
    TYPES: BEGIN OF ty_main,
           hkont    TYPE bsis-hkont,
           belnr    TYPE bsis-belnr,
           budat    TYPE bsis-budat,
           blart    TYPE bsis-blart,
           dmbtr    TYPE bsis-dmbtr,
           xblnr    TYPE bsis-xblnr,
           shkzg    TYPE bsis-shkzg,
           augbl TYPE bsis-augbl,
           kz_dmbtr TYPE bsis-dmbtr,
           kz_xblnr TYPE bsis-xblnr,
           kz_blart TYPE bsis-blart,
           kz_belnr TYPE bsis-belnr,
           kz_budat TYPE bsis-budat,
           kz_zuonr TYPE bsis-zuonr,
           name1    TYPE lfa1-name1,
           slno     TYPE i,
           END OF ty_main,
           BEGIN OF ty_bsas,
           belnr TYPE bsas-hkont,
           budat TYPE bsas-budat,
           xblnr TYPE bsas-xblnr,
           augbl TYPE bsas-augbl,
           dmbtr TYPE bsas-dmbtr,
           blart TYPE bsas-blart,
           zuonr TYPE bsas-zuonr,
           END OF ty_bsas.
    DATA: it_main TYPE TABLE OF ty_main,
          wa_main LIKE LINE OF it_main,
          it_bsas TYPE TABLE OF ty_bsas,
          wa_bsas LIKE LINE OF it_bsas.
    DATA: it_sort       TYPE slis_t_sortinfo_alv,
          fieldcatalog  TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          gd_layout     TYPE slis_layout_alv,
          gt_events     TYPE slis_t_event,
          int_fcat      TYPE slis_fieldcat_alv,
          it_header     TYPE slis_t_listheader,
          wa_header     TYPE slis_listheader.
    ************************************************work variables***********************************************************************
    DATA: ven_name   TYPE lfa1-name1,
          post_date  TYPE bsis-budat,
          t_tabix    TYPE sy-tabix,
          i_prg      LIKE sy-repid.
    ***********************************************selection screen***********************************************************************
    SELECTION-SCREEN: BEGIN OF BLOCK gtn WITH FRAME TITLE text-001 .
    SELECT-OPTIONS: date FOR post_date OBLIGATORY.
    SELECTION-SCREEN: END OF BLOCK gtn.
    ************************************************data selection**************************************************************************
    START-OF-SELECTION.
      PERFORM data_retreval.
      PERFORM build_catalog.
      PERFORM layout.
      PERFORM build_events.
      PERFORM sortinfo.
      IF it_main[] IS NOT INITIAL.
        PERFORM display_alv.
      ELSE.
        MESSAGE 'No Records Matching For This Selection' TYPE 'E'.
      ENDIF.
    ******************************data display*********************************************************************************************
    *&      Form  data_retreval
          text
    -->  p1        text
    <--  p2        text
    FORM data_retreval .
      CLEAR:it_main[], wa_main, fieldcatalog[].
    ***********************************************selecting data from bsis table for the given date range**********************************
      SELECT ahkont abelnr abudat ablart admbtr axblnr a~shkzg
             b~augbl
             INTO CORRESPONDING FIELDS OF TABLE it_main
             FROM bsis AS a LEFT OUTER JOIN bsas AS b
             ON abelnr = bbelnr
             WHERE a~budat IN date
             AND   a~blart = 'KR'
             AND   a~shkzg = 'S'
             AND   a~hkont = '0002200530'.
    ***********************************************selecting data from bsas table using bsis-belnr*******************************************
      LOOP AT it_main INTO wa_main.
        SELECT belnr budat dmbtr xblnr zuonr  augbl blart
               INTO CORRESPONDING FIELDS OF wa_bsas
               FROM bsas
               WHERE belnr = wa_main-augbl
               AND   blart = 'KZ'.
        ENDSELECT.
        APPEND wa_bsas TO it_bsas.
      ENDLOOP.
    ********************************************combining two tables data******************************************************************
      LOOP AT it_main INTO wa_main.
        t_tabix = sy-tabix.
           wa_main-slno     = t_tabix.
        READ TABLE it_bsas INTO wa_bsas WITH KEY augbl = wa_main-augbl.
        IF sy-subrc = 0.
          SELECT SINGLE name1
                 FROM lfa1
                 INTO ven_name
                 WHERE lifnr = wa_bsas-zuonr.
          wa_main-kz_dmbtr = wa_bsas-dmbtr.
          wa_main-kz_belnr = wa_bsas-belnr.
          wa_main-kz_blart = wa_bsas-blart.
          wa_main-kz_budat = wa_bsas-budat.
          wa_main-kz_xblnr = wa_bsas-xblnr.
          wa_main-kz_zuonr = wa_bsas-zuonr.
          wa_main-name1    = ven_name.
        ENDIF.
        MODIFY it_main FROM wa_main INDEX t_tabix TRANSPORTING kz_dmbtr kz_belnr kz_budat kz_blart kz_xblnr kz_zuonr name1 .
      ENDLOOP.
      SORT it_main BY kz_blart kz_zuonr.
      LOOP AT it_main INTO wa_main.
        wa_main-slno = sy-tabix.
        MODIFY it_main FROM wa_main INDEX sy-tabix TRANSPORTING slno.
      ENDLOOP.
    ENDFORM.                    " data_retreval
    *&      Form  build_catalog
          text
    -->  p1        text
    <--  p2        text
    FORM build_catalog .
      DATA: col_pos TYPE i.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'SLNO'.
      fieldcatalog-seltext_m = 'Serial No'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_ZUONR'.
      fieldcatalog-seltext_m = 'Vendor Num'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'NAME1'.
      fieldcatalog-seltext_m = 'Vendor Name'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'BLART'.
      fieldcatalog-seltext_m = 'BillDoc.Type'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'BELNR'.
      fieldcatalog-seltext_m = 'BillDoc.Num.'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'BUDAT'.
      fieldcatalog-seltext_m = 'BillPosting Date'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'XBLNR'.
      fieldcatalog-seltext_m = 'BillReference Num'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'DMBTR'.
      fieldcatalog-seltext_m = 'Bill Amount'.
      fieldcatalog-col_pos   = col_pos.
      fieldcatalog-do_sum    = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_BLART'.
      fieldcatalog-seltext_m = 'Pay_Doc.type'.
      fieldcatalog-col_pos   = col_pos.
       fieldcatalog-do_sum    = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_BELNR'.
      fieldcatalog-seltext_m = 'Pay_Document No'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_DMBTR'.
      fieldcatalog-seltext_m = 'Payment Amount'.
      fieldcatalog-col_pos   = col_pos.
      fieldcatalog-do_sum    = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_XBLNR'.
      fieldcatalog-seltext_m = 'Pay_Reference Num'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_BUDAT'.
      fieldcatalog-seltext_m = 'Pay_Posting Date'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'AUGBL'.
      fieldcatalog-seltext_m = 'Clr.Doc.Num'.
      fieldcatalog-col_pos   = col_pos.
       fieldcatalog-row_pos   = 2.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
    ENDFORM.                    " build_catalog
    *&      Form  sortinfo
          text
    -->  p1        text
    <--  p2        text
    FORM sortinfo .
      DATA: is_sort TYPE slis_sortinfo_alv.
      CLEAR:is_sort.
      is_sort-spos       = 2.
      is_sort-fieldname  = 'KZ_ZUONR'.
      is_sort-up         = 'X'.
      APPEND is_sort TO it_sort.
      CLEAR: is_sort.
      is_sort-spos       = 1.
      is_sort-fieldname  = 'KZ_BLART'.
      is_sort-up         = 'X'.
      is_sort-subtot     = 'X'.
      APPEND is_sort TO it_sort.
    ENDFORM.                    " sortinfo
    *&      Form  layout
          text
    -->  p1        text
    <--  p2        text
    FORM layout .
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-zebra             = 'X'.
    *gd_layout-totals_text       = 'Grand Total'.
    *gd_layout-subtotals_text    = 'BillBooked Not Paid'.
    ENDFORM.                    " layout
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
      i_prg = sy-repid.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = 'I_PRG'
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
         is_layout                         = gd_layout
         it_fieldcat                       = fieldcatalog[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sort
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
         it_events                         = gt_events
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = it_main
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " display_alv
    *&      Form  build_events
          text
    -->  p1        text
    <--  p2        text
    FORM build_events .
      DATA: is_event TYPE slis_alv_event.
    break-point.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type           = 0
       IMPORTING
         et_events             = gt_events[]
      EXCEPTIONS
        LIST_TYPE_WRONG       = 1
        OTHERS                = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE gt_events WITH KEY name = slis_ev_top_of_page INTO is_event.
      IF sy-subrc = 0.
        MOVE 'TOP_OF_PAGE' TO is_event-form.
       MODIFY gt_events from is_event TRANSPORTING form WHERE name = slis_ev_top_of_page.
      ENDIF.
    ENDFORM.                    " build_events
    *&      Form  top_of_page
          text
    -->  p1        text
    <--  p2        text
    form top_of_page .
        BREAK-POINT.
        SKIP 3.
        WRITE:/20 'BILLING DETAILS', 40 'PAYMENT DETAILS'.
    endform.                    " top_of_page
    Regards.
    s.senthil kumar

    hi i modified ur program , check this and let me know
    REPORT zsen_servicetax_gta NO STANDARD PAGE HEADING LINE-COUNT 100.
    *****************************************TABLES USED**********************************************************************
    TABLES: BSIS, "Accounting: Secondary Index for G/L Accounts
    BSAS, "Accounting: Secondary Index for G/L Accounts (Cleared Items)
    LFA1. "Vendor Master (General Section).
    *****************************************WORK AREA / INTERNAL TABLE DECLARATION******************************************
    TYPE-POOLS: slis.
    TYPES: BEGIN OF ty_main,
    hkont TYPE bsis-hkont,
    belnr TYPE bsis-belnr,
    budat TYPE bsis-budat,
    blart TYPE bsis-blart,
    dmbtr TYPE bsis-dmbtr,
    xblnr TYPE bsis-xblnr,
    shkzg TYPE bsis-shkzg,
    augbl TYPE bsis-augbl,
    kz_dmbtr TYPE bsis-dmbtr,
    kz_xblnr TYPE bsis-xblnr,
    kz_blart TYPE bsis-blart,
    kz_belnr TYPE bsis-belnr,
    kz_budat TYPE bsis-budat,
    kz_zuonr TYPE bsis-zuonr,
    name1 TYPE lfa1-name1,
    slno TYPE i,
    END OF ty_main,
    BEGIN OF ty_bsas,
    belnr TYPE bsas-hkont,
    budat TYPE bsas-budat,
    xblnr TYPE bsas-xblnr,
    augbl TYPE bsas-augbl,
    dmbtr TYPE bsas-dmbtr,
    blart TYPE bsas-blart,
    zuonr TYPE bsas-zuonr,
    END OF ty_bsas.
    DATA: it_main TYPE TABLE OF ty_main,
    wa_main LIKE LINE OF it_main,
    it_bsas TYPE TABLE OF ty_bsas,
    wa_bsas LIKE LINE OF it_bsas.
    DATA: it_sort TYPE slis_t_sortinfo_alv,
    IT_fieldcatalog TYPE slis_t_fieldcat_alv ,
    WA_fieldcatalog TYPE slis_fieldcat_alv,
    gd_layout TYPE slis_layout_alv,
    gt_events TYPE slis_t_event,
    WA_EVENTS TYPE SLIS_T_EVENT,
    int_fcat TYPE slis_fieldcat_alv,
    it_header TYPE slis_t_listheader,
    wa_header TYPE slis_listheader.
    ************************************************work variables***********************************************************************
    DATA: ven_name TYPE lfa1-name1,
    post_date TYPE bsis-budat,
    t_tabix TYPE sy-tabix,
    i_prg LIKE sy-repid.
    ***********************************************selection screen***********************************************************************
    SELECTION-SCREEN: BEGIN OF BLOCK gtn WITH FRAME TITLE text-001 .
    SELECT-OPTIONS: date FOR BSIS-BUDAT .
    SELECTION-SCREEN: END OF BLOCK gtn.
    ************************************************data selection**************************************************************************
    START-OF-SELECTION.
    PERFORM data_retreval.
    PERFORM build_catalog.
    PERFORM layout.
    PERFORM build_events.
    PERFORM sortinfo.
    IF it_main[] IS NOT INITIAL.
    PERFORM display_alv.
    ELSE.
    MESSAGE 'No Records Matching For This Selection' TYPE 'E'.
    ENDIF.
    ******************************data display*********************************************************************************************
    **& Form data_retreval
    *text
    *--> p1 text
    *<-- p2 text
    FORM data_retreval .
    CLEAR:it_main[], wa_main.
    ***********************************************selecting data from bsis table for the given date range**********************************
    SELECT ahkont abelnr abudat ablart admbtr axblnr a~shkzg
    b~augbl
    INTO CORRESPONDING FIELDS OF TABLE it_main
    FROM bsis AS a LEFT OUTER JOIN bsas AS b
    ON abelnr = bbelnr
    WHERE a~budat IN date.
    *AND a~blart = 'KR'
    *AND a~shkzg = 'S'
    *AND a~hkont = '0002200530'.
    ***********************************************selecting data from bsas table using bsis-belnr*******************************************
    LOOP AT it_main INTO wa_main.
    SELECT belnr budat dmbtr xblnr zuonr augbl blart
    INTO CORRESPONDING FIELDS OF wa_bsas
    FROM bsas
    WHERE belnr = wa_main-augbl
    AND blart = 'KZ'.
    ENDSELECT.
    APPEND wa_bsas TO it_bsas.
    ENDLOOP.
    ********************************************combining two tables data******************************************************************
    LOOP AT it_main INTO wa_main.
    t_tabix = sy-tabix.
    wa_main-slno = t_tabix.
    READ TABLE it_bsas INTO wa_bsas WITH KEY augbl = wa_main-augbl.
    IF sy-subrc = 0.
    SELECT SINGLE name1
    FROM lfa1
    INTO ven_name
    WHERE lifnr = wa_bsas-zuonr.
    wa_main-kz_dmbtr = wa_bsas-dmbtr.
    wa_main-kz_belnr = wa_bsas-belnr.
    wa_main-kz_blart = wa_bsas-blart.
    wa_main-kz_budat = wa_bsas-budat.
    wa_main-kz_xblnr = wa_bsas-xblnr.
    wa_main-kz_zuonr = wa_bsas-zuonr.
    wa_main-name1 = ven_name.
    ENDIF.
    MODIFY it_main FROM wa_main INDEX t_tabix TRANSPORTING kz_dmbtr kz_belnr kz_budat kz_blart kz_xblnr kz_zuonr name1 .
    ENDLOOP.
    SORT it_main BY kz_blart kz_zuonr.
    LOOP AT it_main INTO wa_main.
    wa_main-slno = sy-tabix.
    MODIFY it_main FROM wa_main INDEX sy-tabix TRANSPORTING slno.
    ENDLOOP.
    ENDFORM. " data_retreval
    **& Form build_catalog
    *text
    *--> p1 text
    *<-- p2 text
    FORM build_catalog .
    DATA: col_pos TYPE i.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'SLNO'.
    WA_fieldcatalog-seltext_m = 'Serial No'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_ZUONR'.
    WA_fieldcatalog-seltext_m = 'Vendor Num'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'NAME1'.
    WA_fieldcatalog-seltext_m = 'Vendor Name'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'BLART'.
    WA_fieldcatalog-seltext_m = 'BillDoc.Type'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'BELNR'.
    WA_fieldcatalog-seltext_m = 'BillDoc.Num.'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'BUDAT'.
    WA_fieldcatalog-seltext_m = 'BillPosting Date'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'XBLNR'.
    WA_fieldcatalog-seltext_m = 'BillReference Num'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'DMBTR'.
    WA_fieldcatalog-seltext_m = 'Bill Amount'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-do_sum = 'X'.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_BLART'.
    WA_fieldcatalog-seltext_m = 'Pay_Doc.type'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-do_sum = 'X'.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_BELNR'.
    WA_fieldcatalog-seltext_m = 'Pay_Document No'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_DMBTR'.
    WA_fieldcatalog-seltext_m = 'Payment Amount'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-do_sum = 'X'.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_XBLNR'.
    WA_fieldcatalog-seltext_m = 'Pay_Reference Num'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_BUDAT'.
    WA_fieldcatalog-seltext_m = 'Pay_Posting Date'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'AUGBL'.
    WA_fieldcatalog-seltext_m = 'Clr.Doc.Num'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-row_pos = 2.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    ENDFORM. " build_catalog
    **& Form sortinfo
    *text
    *--> p1 text
    *<-- p2 text
    FORM sortinfo .
    DATA: is_sort TYPE slis_sortinfo_alv.
    CLEAR:is_sort.
    is_sort-spos = 2.
    is_sort-fieldname = 'KZ_ZUONR'.
    is_sort-up = 'X'.
    APPEND is_sort TO it_sort.
    CLEAR: is_sort.
    is_sort-spos = 1.
    is_sort-fieldname = 'KZ_BLART'.
    is_sort-up = 'X'.
    is_sort-subtot = 'X'.
    APPEND is_sort TO it_sort.
    ENDFORM. " sortinfo
    **& Form layout
    *text
    *--> p1 text
    *<-- p2 text
    FORM layout .
    gd_layout-no_input = 'X'.
    gd_layout-colwidth_optimize = 'X'.
    gd_layout-zebra = 'X'.
    *gd_layout-totals_text = 'Grand Total'.
    *gd_layout-subtotals_text = 'BillBooked Not Paid'.
    ENDFORM. " layout
    **& Form display_alv
    *text
    *--> p1 text
    *<-- p2 text
    FORM display_alv .
    i_prg = sy-repid.
    DATA:it_events TYPE slis_t_event,
           wa_events TYPE slis_alv_event.
    WA_events-name = 'TOP_OF_PAGE'.
      WA_events-form = 'TOP_OF_PAGE'.
      APPEND  wa_events TO it_events.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    *I_INTERFACE_CHECK = ' '
    *I_BYPASSING_BUFFER = ' '
    *I_BUFFER_ACTIVE = ' '
    i_callback_program = 'I_PRG'
    *I_CALLBACK_PF_STATUS_SET = ' '
    *I_CALLBACK_USER_COMMAND = ' '
    I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
    *I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP-OF-PAGE'
    *I_CALLBACK_HTML_END_OF_LIST = ' '
    *I_STRUCTURE_NAME =
    *I_BACKGROUND_ID = ' '
    *I_GRID_TITLE =
    *I_GRID_SETTINGS =
    is_layout = gd_layout
    it_fieldcat = IT_fieldcatalog[]
    *IT_EXCLUDING =
    *IT_SPECIAL_GROUPS =
    *it_sort = it_sort
    *IT_FILTER =
    *IS_SEL_HIDE =
    *I_DEFAULT = 'X'
    *I_SAVE = ' '
    *IS_VARIANT =
    it_events = It_events.
    *IT_EVENT_EXIT =
    *IS_PRINT =
    *IS_REPREP_ID =
    *I_SCREEN_START_COLUMN = 0
    *I_SCREEN_START_LINE = 0
    *I_SCREEN_END_COLUMN = 0
    *I_SCREEN_END_LINE = 0
    *I_HTML_HEIGHT_TOP = 0
    *I_HTML_HEIGHT_END = 0
    *IT_ALV_GRAPHICS =
    *IT_HYPERLINK =
    *IT_ADD_FIELDCAT =
    *IT_EXCEPT_QINFO =
    *IR_SALV_FULLSCREEN_ADAPTER =
    *IMPORTING
    *E_EXIT_CAUSED_BY_CALLER =
    *ES_EXIT_CAUSED_BY_USER =
    *TABLES
    *t_outtab = it_main
    *EXCEPTIONS
    *PROGRAM_ERROR = 1
    *OTHERS = 2
    *IF sy-subrc <> 0.
    *MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    ENDFORM. " display_alv
    **& Form build_events
    *text
    *--> p1 text
    *<-- p2 text
    FORM build_events .
    DATA: is_event TYPE slis_alv_event.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    i_list_type = 0
    IMPORTING
    et_events = gt_events[]
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2
    IF sy-subrc NE 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    READ TABLE gt_events WITH KEY name = slis_ev_top_of_page INTO is_event.
    IF sy-subrc = 0.
    MOVE 'TOP_OF_PAGE' TO is_event-form.
    MODIFY gt_events from is_event TRANSPORTING form WHERE name = slis_ev_top_of_page.
    ENDIF.
    ENDFORM. " build_events
    **& Form top_of_page
    *text
    *--> p1 text
    *<-- p2 text
    form top_of_page .
    SKIP 3.
    WRITE:/20 'BILLING DETAILS', 40 'PAYMENT DETAILS'.
    ENDFORM.
    reward points if useful,
    venkat.

  • EXIT NAME OR BADI FOR FIELD IN MIGO TRANSACTION (full poins will be given)

    Hai all,
    VERY URGENT REQ.
    In MIGO transaction, I want to know the BADI or EXIT NAME in which the following fields are avilable .
    Fields name: exgrp, EXCISE_ACTION
    exact screen field name is : J_1IEXHEAD-EXGRP
    J_1IEXHEAD-EXCISE_ACTION
    Full Points will be given for correct answer.
    Thanks in advance.
    s.senthil kumar

    Hi,
    Try this code .We can get the User exits and Badis for the Tcode.
    Code:
    & Report ZPJA_PM002 (Ver4) &
    & PJA Consultancy Services (www.pjas.com) &
    & This report attmpts to find Enhancements, Program-Exits, BADIs &
    & and Business Transaction Events in a particular program/tcode. &
    & Other search options: &
    & Program: RPR_ABAP_SOURCE_SCAN &
    & FModule: &
    & Text Elements: &
    & P_DEVC Show user-exits from development class &
    & P_LIMIT Limit submit program selection &
    & P_FUNC Show function modules &
    & P_SUBM Show submit programs &
    & S01 Selection data (TCode takes precedence over program name) &
    report zpja_pm002
    no standard page heading
    line-size 221.
    data: tabix like sy-tabix,
    w_linnum type i,
    w_off type i,
    w_index like sy-tabix,
    w_include like trdir-name,
    w_prog like trdir-name,
    w_incl like trdir-name,
    w_area like rs38l-area,
    w_level,
    w_fsel like sy-ucomm, " Determination of screen field
    w_str(50) type c,
    w_funcname like tfdir-funcname.
    constants: c_fmod(40) type c value 'Function modules selected: ',
    c_subm(40) type c value 'Submit programs selected: ',
    c_col1(12) type c value 'Enhanmt Type',
    c_col2(40) type c value 'Enhancement',
    c_col3(30) type c value 'Program/Include',
    c_col4(20) type c value 'Enhancement Name',
    c_col5(40) type c value 'Enhancement Description',
    c_col6(8) type c value 'Project',
    c_col7(1) type c value 'S',
    c_col8(12) type c value 'ChangeName',
    c_col9(10) type c value 'ChangeDate'.
    Work Areas: ABAP Workbench
    data: begin of wa_d010inc.
    data: master type d010inc-master.
    data: end of wa_d010inc.
    data: begin of wa_tfdir.
    data: funcname type tfdir-funcname,
    pname type tfdir-pname,
    include type tfdir-include.
    data: end of wa_tfdir.
    data: begin of wa_tadir.
    data: devclass type tadir-devclass.
    data: end of wa_tadir.
    data: begin of wa_tstc.
    data: pgmna type tstc-pgmna.
    data: end of wa_tstc.
    data: begin of wa_tstcp.
    data: param type tstcp-param.
    data: end of wa_tstcp.
    data: begin of wa_enlfdir.
    data: area type enlfdir-area.
    data: end of wa_enlfdir.
    Work Areas: BADIs
    data: begin of wa_sxs_attr.
    data: exit_name type sxs_attr-exit_name.
    data: end of wa_sxs_attr.
    data: begin of wa_sxs_attrt.
    data: text type sxs_attrt-text.
    data: end of wa_sxs_attrt.
    Work Areas: Enhancements
    data: begin of wa_modsap.
    data: member type modsap-member.
    data: end of wa_modsap.
    data: begin of wa_modsapa.
    data: name type modsapa-name.
    data: end of wa_modsapa.
    data: begin of wa_modsapt.
    data: modtext type modsapt-modtext.
    data: end of wa_modsapt.
    Work Areas: Business Transaction Events
    data: begin of wa_tbe01t.
    data: text1 type tbe01t-text1.
    data: end of wa_tbe01t.
    data: begin of wa_tps01t.
    data: text1 type tps01t-text1.
    data: end of wa_tps01t.
    user-exits
    types: begin of ty_mod,
    member like modact-member,
    name like modact-name,
    status like modattr-status,
    anam like modattr-anam,
    adat like modattr-adat,
    end of ty_mod.
    data: w_mod type ty_mod.
    types: begin of t_userexit,
    type(12) type c,
    pname like trdir-name,
    txt(300),
    level type c,
    modname(30) type c,
    modtext(60) type c,
    modattr type ty_mod,
    end of t_userexit.
    data: i_userexit type standard table of t_userexit with header line.
    Function module developmnet classes
    types: begin of t_devclass,
    clas like trdir-clas,
    end of t_devclass.
    data: i_devclass type standard table of t_devclass with header line.
    types: begin of t_enlfdir,
    area type enlfdir-area,
    end of t_enlfdir.
    data: i_enlfdir type standard table of t_enlfdir with header line.
    Submit programs
    types: begin of t_submit,
    pname like trdir-name,
    level,
    done,
    end of t_submit.
    data: i_submit type standard table of t_submit with header line.
    Source code
    types: begin of t_sourcetab, "#EC * (SLIN lügt!)
    line(200), "#EC * (SLIN lügt!)
    end of t_sourcetab. "#EC * (SLIN lügt!)
    data: sourcetab type standard table of t_sourcetab with header line.
    data c_overflow(30000) type c.
    Description of an ABAP/4 source analysis token
    data: i_stoken type standard table of stokex with header line.
    data wa_stoken like i_stoken.
    Description of an ABAP/4 source analysis statement
    data: i_sstmnt type standard table of sstmnt with header line."#EC NEEDED
    keywords for searching ABAP code
    types: begin of t_keywords,
    word(30),
    end of t_keywords.
    data: keywords type standard table of t_keywords with header line.
    function modules within program
    types: begin of t_fmodule,
    name like rs38l-name,
    pname like trdir-name,
    pname2 like trdir-name,
    level,
    bapi,
    done,
    end of t_fmodule.
    data: i_fmodule type standard table of t_fmodule with header line.
    & Selection Options &
    selection-screen begin of block selscr1 with frame title text-s01.
    parameter: p_pname like trdir-name memory id rid,
    p_tcode like syst-tcode,
    p_limit(4) type n default 100,
    p_devc like rihea-dy_ofn default ' ',
    p_func like rihea-dy_ofn default ' ',
    p_subm like rihea-dy_ofn default ' '.
    selection-screen end of block selscr1.
    & START-OF-SELECTION &
    start-of-selection.
    if p_pname is initial and p_tcode is initial.
    message e008(hrfpm). "Make entry on the selection screen
    stop.
    endif.
    ensure P_LIMIT is not zero.
    if p_limit = 0.
    p_limit = 1.
    endif.
    perform data_select.
    perform get_submit_data.
    perform get_fm_data.
    perform get_additional_data.
    perform data_display.
    & Form DATA_SELECT &
    form data_select.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get programs/includes' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    determine search words
    keywords-word = 'CALL'.
    append keywords.
    keywords-word = 'FORM'.
    append keywords.
    keywords-word = 'PERFORM'.
    append keywords.
    keywords-word = 'SUBMIT'.
    append keywords.
    keywords-word = 'INCLUDE'.
    append keywords.
    if not p_tcode is initial.
    get program name from TCode
    select single pgmna from tstc into wa_tstc-pgmna
    where tcode eq p_tcode.
    if not wa_tstc-pgmna is initial.
    p_pname = wa_tstc-pgmna.
    TCode does not include program name, but does have refereve TCode
    else.
    select single param from tstcp into wa_tstcp-param
    where tcode eq p_tcode.
    if sy-subrc = 0.
    check wa_tstcp-param(1) = '/'.
    check wa_tstcp-param+1(1) = '*'.
    if wa_tstcp-param ca ' '.
    endif.
    w_off = sy-fdpos + 1.
    subtract 2 from sy-fdpos.
    if sy-fdpos gt 0.
    p_tcode = wa_tstcp-param+2(sy-fdpos).
    endif.
    select single pgmna from tstc into wa_tstc-pgmna
    where tcode eq p_tcode.
    p_pname = wa_tstc-pgmna.
    if sy-subrc 0.
    message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
    endif.
    else.
    message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
    endif.
    endif.
    endif.
    Call customer-function aus Program coding
    read report p_pname into sourcetab.
    if sy-subrc > 0.
    message e017(enhancement) with p_pname raising no_program."#EC *
    endif.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    overflow into c_overflow
    with includes.
    if sy-subrc > 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner
    message e130(enhancement) raising syntax_error. "#EC *
    endif.
    check I_STOKEN for entries
    clear w_linnum.
    describe table i_stoken lines w_linnum.
    if w_linnum gt 0.
    w_level = '0'.
    w_prog = ''.
    w_incl = ''.
    perform data_search tables i_stoken using w_level w_prog w_incl.
    endif.
    endform. "DATA_SELECT
    & Form GET_FM_DATA &
    form get_fm_data.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get function module data' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure. "#EC *
    Function module data
    sort i_fmodule by name.
    delete adjacent duplicates from i_fmodule comparing name.
    loop at i_fmodule where done ne 'X'.
    clear: i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .
    refresh: i_stoken, i_sstmnt, sourcetab.
    store function groups
    select single area from enlfdir into wa_enlfdir-area
    where funcname = i_fmodule-name.
    i_enlfdir-area = wa_enlfdir-area.
    append i_enlfdir.
    Store development classes
    if not wa_enlfdir-area is initial.
    select single devclass into wa_tadir-devclass
    from tadir where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name = wa_enlfdir-area.
    check not wa_tadir-devclass is initial.
    move wa_tadir-devclass to i_devclass-clas.
    append i_devclass.
    endif.
    clear wa_tfdir.
    select single funcname pname include from tfdir into wa_tfdir
    where funcname = i_fmodule-name.
    check sy-subrc = 0.
    call function 'FUNCTION_INCLUDE_SPLIT'
    exporting
    program = wa_tfdir-pname
    importing
    group = w_area.
    concatenate 'L' w_area 'U' wa_tfdir-include into w_include.
    i_fmodule-pname = w_include.
    i_fmodule-pname2 = wa_tfdir-pname.
    modify i_fmodule.
    read report i_fmodule-pname into sourcetab.
    if sy-subrc = 0.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    with includes.
    if sy-subrc > 0.
    message e130(enhancement) raising syntax_error.
    endif.
    check i_stoken for entries
    clear w_linnum.
    describe table i_stoken lines w_linnum.
    if w_linnum gt 0.
    w_level = '1'.
    w_prog = i_fmodule-pname2.
    w_incl = i_fmodule-pname.
    perform data_search tables i_stoken using w_level w_prog w_incl.
    endif.
    endif.
    endloop.
    sort funtion groups
    sort i_devclass.
    delete adjacent duplicates from i_devclass.
    sort i_enlfdir.
    delete adjacent duplicates from i_enlfdir.
    endform. "GET_FM_DATA
    & Form GET_SUBMIT_DATA &
    form get_submit_data.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get submit data' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    sort i_submit.
    delete adjacent duplicates from i_submit comparing pname.
    w_level = '0'.
    loop at i_submit where done ne 'X'.
    check i_submit-pname ne p_pname. " ensure not the same as origianl program
    clear: i_stoken, i_sstmnt, sourcetab.
    refresh: i_stoken, i_sstmnt, sourcetab.
    read report i_submit-pname into sourcetab.
    if sy-subrc 0.
    delete i_submit.
    continue.
    else.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    with includes.
    if sy-subrc > 0.
    continue.
    endif.
    check i_stoken for entries
    clear w_linnum.
    describe table i_stoken lines w_linnum.
    if w_linnum gt 0.
    w_prog = i_submit-pname.
    w_incl = ''.
    perform data_search tables i_stoken using w_level w_prog w_incl.
    endif.
    endif.
    restrict number of submit program selected for processing
    describe table i_submit lines w_linnum.
    if w_linnum ge p_limit.
    w_level = '1'.
    endif.
    i_submit-done = 'X'.
    modify i_submit.
    endloop.
    sort i_submit.
    delete adjacent duplicates from i_submit comparing pname.
    endform. "GET_SUBMIT_DATA
    & Form DATA_SEARCH &
    form data_search tables p_stoken structure stoken
    using p_level p_prog p_incl.
    loop at p_stoken.
    clear i_userexit.
    tabix = sy-tabix + 1.
    i_userexit-level = p_level.
    if i_userexit-level = '0'.
    if p_incl is initial.
    i_userexit-pname = p_pname.
    else.
    concatenate p_pname '/' p_incl into i_userexit-pname.
    endif.
    else.
    if p_incl is initial.
    i_userexit-pname = p_prog.
    else.
    concatenate p_prog '/' p_incl into i_userexit-pname.
    endif.
    endif.
    Include
    if p_stoken-str eq 'INCLUDE'.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    check not wa_stoken-str cs 'STRUCTURE'.
    check not wa_stoken-str cs 'SYMBOL'.
    read table i_submit with key pname = wa_stoken-str.
    if sy-subrc 0.
    i_submit-pname = wa_stoken-str.
    i_submit-level = p_level.
    append i_submit.
    endif.
    endif.
    Enhancements
    if p_stoken-str eq 'CUSTOMER-FUNCTION'.
    clear w_funcname.
    read table p_stoken index tabix.
    translate p_stoken-str using ''' '.
    condense p_stoken-str.
    if p_prog is initial.
    concatenate 'EXIT' p_pname p_stoken-str into w_funcname
    separated by '_'.
    else.
    concatenate 'EXIT' p_prog p_stoken-str into w_funcname
    separated by '_'.
    endif.
    select single member from modsap into wa_modsap-member
    where member = w_funcname.
    if sy-subrc = 0. " check for valid enhancement
    i_userexit-type = 'Enhancement'.
    i_userexit-txt = w_funcname.
    append i_userexit.
    else.
    clear wa_d010inc.
    select single master into wa_d010inc-master
    from d010inc
    where include = p_prog.
    concatenate 'EXIT' wa_d010inc-master p_stoken-str into w_funcname
    separated by '_'.
    i_userexit-type = 'Enhancement'.
    i_userexit-txt = w_funcname.
    endif.
    endif.
    BADIs
    if p_stoken-str cs 'cl_exithandler='.
    w_index = sy-tabix + 4.
    read table p_stoken index w_index into wa_stoken.
    i_userexit-txt = wa_stoken-str.
    replace all occurrences of '''' in i_userexit-txt with space.
    i_userexit-type = 'BADI'.
    append i_userexit.
    endif.
    Business transaction events
    if p_stoken-str cs 'OPEN_FI_PERFORM'.
    i_userexit-type = 'BusTrEvent'.
    i_userexit-txt = p_stoken-str.
    replace all occurrences of '''' in i_userexit-txt with space.
    i_userexit-modname = i_userexit-txt+16(8).
    case i_userexit-txt+25(1).
    when 'E'.
    clear wa_tbe01t.
    select single text1 into wa_tbe01t-text1 from tbe01t
    where event = i_userexit-txt+16(8)
    and spras = sy-langu.
    if wa_tbe01t-text1 is initial.
    i_userexit-modtext = ''. "#EC NOTEXT
    else.
    i_userexit-modtext = wa_tbe01t-text1.
    endif.
    i_userexit-modname+8 = '/P&S'. "#EC NOTEXT
    when 'P'.
    clear wa_tps01t.
    select single text1 into wa_tps01t-text1 from tps01t
    where procs = i_userexit-txt+16(8)
    and spras = sy-langu.
    i_userexit-modtext = wa_tps01t-text1.
    i_userexit-modname+8 = '/Process'.
    endcase.
    append i_userexit.
    endif.
    Program exits
    if p_stoken-str cs 'USEREXIT_'.
    i_userexit-type = 'Program Exit'.
    i_userexit-txt = p_stoken-str.
    replace all occurrences of '''' in i_userexit-txt with space.
    append i_userexit.
    endif.
    Submit programs
    if p_stoken-str cs 'SUBMIT'.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    check not p_stoken-str cs '_'. " ensure not SUBMIT_XXX
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    check not wa_stoken-str cs '_'. " ensure not SUBMIT_XXX
    replace all occurrences of '''' in wa_stoken-str with space.
    read table i_submit with key pname = wa_stoken-str.
    if sy-subrc 0.
    i_submit-pname = wa_stoken-str.
    i_submit-level = p_level.
    append i_submit.
    endif.
    endif.
    Perform routines (which reference external programs)
    if p_stoken-str cs 'PERFORM'.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    if not wa_stoken-ovfl is initial.
    w_off = wa_stoken-off1 + 10.
    w_str = c_overflow+w_off(30).
    find ')' in w_str match offset w_off.
    w_off = w_off + 1.
    wa_stoken-str = w_str(w_off).
    endif.
    check wa_stoken-str cs '('.
    w_off = 0.
    while sy-subrc = 0.
    if wa_stoken-str+w_off(1) eq '('.
    replace section offset w_off length 1 of wa_stoken-str with ''.
    replace all occurrences of ')' in wa_stoken-str with space.
    read table i_submit with key pname = wa_stoken-str.
    if sy-subrc 0.
    i_submit-pname = wa_stoken-str.
    append i_submit.
    endif.
    exit.
    else.
    replace section offset w_off length 1 of wa_stoken-str with ''.
    shift wa_stoken-str left deleting leading space.
    endif.
    endwhile.
    endif.
    Function modules
    if p_stoken-str cs 'FUNCTION'.
    clear i_fmodule.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    if wa_stoken-str cs 'WF_'.
    if wa_stoken-str cs 'IDOC'.
    break-point.
    endif.
    if wa_stoken-str cs 'BAPI'.
    i_fmodule-bapi = 'X'.
    endif.
    replace first occurrence of '''' in wa_stoken-str with space.
    replace first occurrence of '''' in wa_stoken-str with space.
    if sy-subrc = 4. " didn't find 2nd quote (ie name truncated)
    clear wa_tfdir.
    concatenate wa_stoken-str '%' into wa_stoken-str.
    select single funcname into wa_tfdir-funcname from tfdir
    where funcname like wa_stoken-str.
    if sy-subrc = 0.
    i_fmodule-name = wa_tfdir-funcname.
    else.
    continue.
    endif.
    else.
    i_fmodule-name = wa_stoken-str.
    endif.
    read table i_fmodule with key name = i_fmodule-name.
    if sy-subrc 0.
    i_fmodule-level = p_level.
    append i_fmodule.
    endif.
    endif.
    endloop.
    endform. "DATA_SEARCH
    & Form GET_ADDITIONAL_DATA &
    form get_additional_data.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get additional data' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    loop at i_userexit.
    Enhancement data
    if i_userexit-type cs 'Enh'.
    clear: wa_modsapa.
    select single name into wa_modsapa-name from modsap
    where member = i_userexit-txt.
    check sy-subrc = 0.
    i_userexit-modname = wa_modsapa-name.
    clear wa_modsapt.
    select single modtext into wa_modsapt-modtext from modsapt
    where name = wa_modsapa-name
    and sprsl = sy-langu.
    i_userexit-modtext = wa_modsapt-modtext.
    MOH - enhancement to get the project name
    clear w_mod.
    select single modactmember modactname modattr~status
    modattranam modattradat
    into w_mod
    from modact
    inner join modattr
    on modattrname = modactname
    where modact~member = wa_modsapa-name
    and modact~typ = space.
    i_userexit-modattr = w_mod.
    MOH - eoe
    endif.
    BADI data
    if i_userexit-type eq 'BADI'.
    clear wa_sxs_attr.
    select single exit_name into wa_sxs_attr-exit_name from sxs_attr
    where exit_name = i_userexit-txt.
    if sy-subrc = 0.
    i_userexit-modname = i_userexit-txt.
    else.
    i_userexit-modname = 'Dynamic call'. "#EC NOTEXT
    endif.
    clear wa_sxs_attrt.
    select single text into wa_sxs_attrt-text from sxs_attrt
    where exit_name = wa_sxs_attr-exit_name
    and sprsl = sy-langu.
    i_userexit-modtext = wa_sxs_attrt-text.
    endif.
    modify i_userexit.
    endloop.
    get enhancements via program package
    clear wa_tadir.
    select single devclass into wa_tadir-devclass from tadir
    where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = p_pname.
    if sy-subrc = 0.
    clear: wa_modsapa, wa_modsapt.
    select name from modsapa into wa_modsapa-name
    where devclass = wa_tadir-devclass.
    select single modtext from modsapt into wa_modsapt-modtext
    where name = wa_modsapa-name
    and sprsl = sy-langu.
    read table i_userexit with key modname = wa_modsapa-name.
    if sy-subrc 0.
    i_userexit-modtext = wa_modsapt-modtext.
    i_userexit-type = 'Enhancement'. "#EC NOTEXT
    i_userexit-modname = wa_modsapa-name.
    i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT
    i_userexit-pname = 'Unknown'. "#EC NOTEXT
    append i_userexit.
    endif.
    endselect.
    endif.
    Get IDOCs
    loop at i_devclass.
    endloop.
    endform. "GET_ADDITIONAL_DATA
    & Form DATA_DISPLAY &
    form data_display.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Prepare screen for display' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    sort i_userexit by type txt modname.
    delete adjacent duplicates from i_userexit comparing txt modname.
    format headings
    write: 'Enhancements from main program'. "#EC NOTEXT
    write: /.
    uline.
    format color col_heading.
    write: / sy-vline,
    (12) c_col1, "Enhanmt Type
    sy-vline,
    (40) c_col2, "Enhancement
    sy-vline,
    (30) c_col3, "Program/Include
    sy-vline,
    (20) c_col4, "Enhancement name
    sy-vline,
    (60) c_col5, "Enhancement description
    sy-vline,
    (8) c_col6, "Project
    sy-vline,
    (1) c_col7, "S
    sy-vline,
    (12) c_col8, "ChangeName
    sy-vline,
    (10) c_col9, "ChangeDate
    sy-vline.
    format reset.
    uline.
    format lines
    loop at i_userexit.
    set line colour
    case i_userexit-type.
    when 'Enhancement'.
    format color 3 intensified off.
    when 'BADI'.
    format color 4 intensified off.
    when 'BusTrEvent'.
    format color 5 intensified off.
    when 'Program Exit'.
    format color 6 intensified off.
    when others.
    format reset.
    endcase.
    write: / sy-vline,
    i_userexit-type,
    sy-vline,
    i_userexit-txt(40),
    sy-vline,
    i_userexit-pname(30),
    sy-vline,
    i_userexit-modname(20),
    sy-vline,
    i_userexit-modtext(60),
    sy-vline,
    i_userexit-modattr-name,
    sy-vline,
    i_userexit-modattr-status,
    sy-vline,
    i_userexit-modattr-anam,
    sy-vline,
    i_userexit-modattr-adat no-zero,
    sy-vline.
    hide: i_userexit-type,
    i_userexit-txt,
    i_userexit-pname,
    i_userexit-modname,
    i_userexit-modtext.
    endloop.
    format reset.
    uline.
    user-exits from development class of function modules
    if p_devc = 'X'.
    write: /.
    write: / 'User-exits from function module development class'."#EC NOTEXT
    write: 157''.
    uline (90).
    write: 157''.
    loop at i_devclass.
    clear wa_modsapa.
    select name from modsapa into wa_modsapa
    where devclass = i_devclass-clas.
    select single name modtext into corresponding fields of wa_modsapt
    from modsapt
    where name = wa_modsapa-name
    and sprsl = sy-langu.
    format color 3 intensified off.
    write: / sy-vline,
    (12) 'Enhancement',
    sy-vline,
    wa_modsapa-name,
    sy-vline,
    wa_modsapt-modtext,
    sy-vline.
    endselect.
    endloop.
    uline (90).
    format reset.
    endif.
    describe table i_fmodule lines w_linnum.
    write: / c_fmod , at 35 w_linnum. "#EC NOTEXT
    write: 157''.
    if p_func = 'X'.
    display fuction modules used in program
    uline (38).
    write: 157''.
    loop at i_fmodule.
    write: sy-vline,
    i_fmodule-name,
    sy-vline,
    i_fmodule-bapi,
    sy-vline.
    write: 157''.
    endloop.
    uline (38).
    write: 157''.
    endif.
    describe table i_submit lines w_linnum.
    write: / c_subm , at 35 w_linnum. "#EC NOTEXT
    write: 157''.
    if p_subm = 'X'.
    display submit programs used in program
    uline (44).
    write: 157''.
    loop at i_submit.
    write: sy-vline,
    i_submit-pname,
    sy-vline.
    write: 157''.
    endloop.
    uline (44).
    endif.
    issue message with number of user-exits displayed
    describe table i_userexit lines w_linnum.
    message s697(56) with w_linnum.
    endform. "DATA_DISPLAY
    & User Selection Processing &
    at line-selection.
    get cursor field w_fsel.
    case w_fsel.
    when 'I_USEREXIT-MODNAME'.
    case i_userexit-type.
    when 'Enhancement'.
    set parameter id 'MON' field i_userexit-modname.
    call transaction 'SMOD' and skip first screen.
    when 'BADI'.
    check i_userexit-modname ne 'Dynamic call'.
    set parameter id 'EXN' field i_userexit-modname.
    call transaction 'SE18' and skip first screen.
    when 'BusTrEvent'.
    submit rfopfi00 with attr_typey_selm = 'A'
    with event = i_userexit-modname(8)
    via selection-screen
    and return.
    when others.
    endcase.
    when 'I_USEREXIT-PNAME'.
    check i_userexit-modname ne 'Unknown'.
    w_off = 0.
    find '/' in i_userexit-pname match offset w_off.
    if w_off = 0.
    set parameter id 'RID' field i_userexit-pname.
    call transaction 'SE38' and skip first screen.
    else.
    w_off = w_off + 1.
    w_prog = i_userexit-pname+w_off.
    set parameter id 'RID' field w_prog.
    call transaction 'SE38' and skip first screen.
    endif.
    when others.
    endcase.
    Thank You,
    Saritha

  • "unable to send or receive files"   .... PLEASE HELP!!

    i put in a cd and copy the songs on it to my library. they take a minute or two to download. then i try to autofill my ipod shuffle, and i keep getting the message that it is "unable to send or receive files" what do i do??? please help me!!!

    if your using an audio cd...i assume itunes would automatically open the cd and a box would appear before each song...choose the songs youd like to convert by checking the box..after selecting songs use the right click button and a part of editing your songs will be displayed...and click on to "convert to AAC"

  • How to generate file name dynamically in receiver FIle adapter? Please help

    Dear Experts,
       I have a scenario where I need to generate output file with the name dynamically pulled from the XI payload.
       In receiver File communication channel I don't see any option where we can specify the XML path for the file name.
       For example:
       If my inbound XML structure (inbound interface) is like below:
       <filename>file123.txt</filename>
       <RootNode>
             <Element1>Product123</Element1>
       <RootNode>
      From this I need to pick the filename value and generate the output file with the same value.
      How can I achieve this? Please help!
    Thanks & Regards
    Gopal
    Edited by: gopalkrishna baliga on May 3, 2011 1:10 PM

    Gopal,
    You can use DynamicConfiguration class for this.
    You need to write UDF for this and with input of filename you want to set and map this UDF to the top level node.
    Refer the below famous blog from Micheal:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    You can also use Variable substitution to get value from payload, search SDN on this.
    --Divyesh Vasani

  • Will Photo Library Manager help without library file

    I recently upgraded to Leopard and added ilife to upgrade my iphoto from a reeaaally old version. I imported photos from the old version and Iphoto was working fine a couple weeks ago. Today, however, when I tried to open it, I got the Choose Your Library message. There is no library listed, nor can I find one. I have not done anything to iphoto or the library file since it was last opened and working fine. Will Photo Library Manager help if there is no library file? Is the albumdata.xml file in the iphoto database or is it somewhere else in my computer? Surely the files are there somewhere! What else can I do? I have a back-up but it has run since I last opened iphoto and I can't find a library file in there either. What is the library file called? Maybe I'm not looking for the write thing...
    Thanks for your help. Any suggestions would be most appreciated.

    Did you use Spotlight to try to find your library. If the library was inadvertantly moved to certain areas of the HD Spotlight will not find it. Download and run Find File to search for "Library6.iPhoto". If you get a hit it's a good chance it's the library. Good Luck.
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto (iPhoto.Library for iPhoto 5 and earlier versions) database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger or later), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. There are versions that are compatible with iPhoto 5, 6, 7 and 8 libraries and Tiger and Leopard. Just put the application in the Dock and click on it whenever you want to backup the dB file. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.
    NOTE: The new rebuild option in iPhoto 09 (v. 8.0.2), Rebuild the iPhoto Library Database from automatic backup" makes this tip obsolete.

  • Help with  Error 1328. Error applying patch to file C:\Config.Msi\PTA33F.tmp

    I am trying to open reader and presenter. I am not overly computer literate, but I know some basics. I am getting this error code-
    error 1328. Error applying patch to file C:\Config.Msi\PTA33F.tmp
    when I try to download Adobe Reader X. I don't know what it means. I am very confused and very frustrated. Help someone...
    Thanks

    I have the same issue... Has anyone found a fix for this issue? Thanks.

  • Problem installing itunes- error writing to file C:\Config.Msi\1c16cb7e.rbf. Verify that you have access to that directory. Help!!

    Every time I try to update itunes i get an error that says: error writing to file C:\Config.Msi\1c16cb7e.rbf. Verify that you have access to that directory.
    I've tried uninstalling and I the same error. Help!

    Are you running Kaspersky security software on that PC? (There's been a few reports in recent times of Kaspersky interfering with iTunes installs, with that message being produced.)
    If there is Kaspersky on board, we should try some general-principles getting-past-security-software-interference troubleshooting.
    Download and save a fresh copy of the iTunesSetup.exe (32-bit installer file) or iTunes64Setup.exe to your Hard drive. (Don't run the install on line, and don't start the install just yet.)
    http://www.apple.com/itunes/download/
    Restart the PC. After the PC restarts do not open any applications. Disconnect from your network and/or the internet. Now switch off all your security software (firewall, antivirus, antispyware).
    Now start the install by doubleclicking the iTunesSetup.exe (or iTunes64Setup.exe) file you downloaded earlier.
    Reenable all security software prior to reconnecting to your network and/or the internet.
    Any better luck with the security software shut down?

Maybe you are looking for

  • Null characters in the source file

    Hi frnds, We have a file to file scenario, where in R/3 system will generate the flat files and put in the some folder of R/3 system itself. XI needs to pick this file and process but the problem here is the file contains every alternate character as

  • Not getting values for HR_READ_SUBTYPE while calling from Webdynpro appl

    Hello, When we pass infotype,begda,endda and other required parameters and run this FM in standalone we are getting values however when same FM is called through Webdynpro ABAP application it is not returning values. I tried debugging and i found out

  • How do a secure erase of an iPhone or iPad

    I want to sell an iPhone, but want to do a secure erase before handing it to someone else. By secure I meaning 35x rewriting its HD with random data. How can one do this? TIA, Bill

  • Font embed and PDF optimizer question

    using Quark 7, Acrobat 8 professional, non-intel mac OS10.4.11. According to the quark dialog, the fonts are imbedded. When I look in PDF optimizer, the fonts don't show up. Does this mean they were never imbedded? Also, when I save a file as PDF opt

  • Color Space Management in PS5

    I have a photo that was taken as RAW with a color space of Adobe RGB. I would like to submit this photo to a competition.   The competition prefers the photo be a JPEG in sRGB. I have edited the photo, so I don't want to start over.  I believe I coul