Urgent : regarding recording in qa11

Hi abapers,
In tcode-QA11, it is basically QM(Quality management) code.
under UD code, when i select values from F4 help that is not recorded in recording,
secondly when i put directly the value of UD code then the corresponding fields are not filled.
Steps for recording
1)     Enter the inspection lot name. (u can see it from qe53)
2)     After that press enter
3)     Then U ‘ve to write UD code…..select it from f4 help…..there will be option under calibration inspection (PM/QM).
4)     Under that “‘A’  can be used” is taken.
5)     Press enter.
6)     Save.
Note : - Option 3 n 4 are not coming in recording..
Regards,
pradeep phogat

Hi Pradeep,
  In BDC -  F1, F4 and self-programmed F1 - F4 help (PROCESS ON HELP-REQUEST, PROCESS ON VALUE-REQUEST) are not recorded. The same applies to all commands in the System and Help menus.
Use the std fm and populate the values
<b>Reward pts if found usefull</b>
Regards
Sathish

Similar Messages

  • Urgent: Regarding Join Syntax in Oracle 9i and 10g

    Dear Members
    Please help me by providing me the synatx of following Join statements for Oracle 9i and 10g:
    1.Inner Join
    2.Left Outer Join
    3.Right Outer Join
    4.Self Join
    5.Cross Join
    6.Full Outer Join
    N.B. I NEED THIS HELP URGENTLY
    Regards
    Praveen Kumar Pandey

    Inner join
    SELECT *
      FROM a,
           b
    WHERE a.<<column>> = b.<<column>>Left Outer Join
    SELECT *
      FROM a LEFT OUTER JOIN b
             ON a.<<column>> = b.<<column>>Right Outer Join
    SELECT *
      FROM a RIGHT OUTER JOIN b
             ON a.<<column>> = b.<<column>>Full Outer Join
    SELECT *
      FROM a FULL OUTER JOIN b
             ON a.<<column>> = b.<<column>>Self Join
    SELECT *
      FROM a a1,
           a a2
    WHERE a1.<<column>> = a2.<<column>>Cartesian Join
    SELECT *
      FROM a,
           bJustin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Urgent regarding credit limit

    Hi Gurus
    I have a issue regarding credit limit:
    for a customer "ABC" i have maintained a credit limit for 1000/- in FD32 now when we create a sales order of more than 1000/- for the same customer a popup MSg is comming saying amount has exeeded ...so far so good
    my issue is that the requirements should not pass to MD04 (Stock/Requirement List)
    some of the SAP gurus giving the answer  check out OVB8 and see the requirement 101, i want to know the functionality of requirement "101" and how to go about the issue ..... issue is very urgent
    Regards
    Rajesh

    HI RAJESH
              This can be  done through  go to IMG--> S&D->Basic functions>Availabililty check&transfer of requirements>Transfer of requirements-->block quantity confirmation for delivery blocks. Here u give blocking reason as credit limit,,,,,, Here u find  confirmation block,here u make tick  and save . Here the reason is that even the order is saved,requirements will not be passed to MRP     i.e requirements will not be passed to stock requirement list.
                        Award points if it is helpful for u
                       Regards
                       Prasad.G

  • Very urgent regarding ALV

    Hi all,
    I have displayed data in alv.and the error condition is that if for a material if it has more than one S as ok_status records then it should throw an error. This logic is working fine.
    Now suppose at first time user had entered S through keyboard which fails the condition so it throws an error first time.
    Now user can change the ok  status back to I or O from S (through keyboard although f4 help is available) which satisfies the conditon so that record should be saved. but when user presses save button then in the ALV display the changed status I or O for that record again converted back to status S automatically. and again gives an error.
    if we try third time then it allows to save with record other than s ok status i.e. I or O.
    this problem is comming only when we change the value through keyboard. If we select value using f4 help then whole logic is working fine, no problem at all.
    Can you please help me out in this regard
    Its very urgent.
    Thanks & Regards
    Ashutosh.

    Hi,
    to exclude toolbar buttons..
      DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.
    DATA LS_EXCLUDE TYPE UI_FUNC.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
      LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO.
      APPEND LS_EXCLUDE TO LT_EXCLUDE.
    CALL METHOD G_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
    <b>      IT_TOOLBAR_EXCLUDING = LT_EXCLUDE</b>
          IS_LAYOUT            = GS_LAYOUT
        CHANGING
          IT_FIELDCATALOG      = IT_FIELDCAT
          IT_OUTTAB            = IT_FINAL[].
    and you told you are using REUSE_ALV_GRID_DISPLAY_LVC
    then in the user_command do this....
    then your problem will be solved.
    in the top you declare this..
      DATA: REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
    FORM USER_COMMAND  USING R_UCOMM LIKE SY-UCOMM
                             RS_SELFIELD TYPE SLIS_SELFIELD.
    *then insert the following code in your USER_COMMAND routine...
      IF REF_GRID IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            E_GRID = REF_GRID.
      ENDIF.
      IF NOT REF_GRID IS INITIAL.
        CALL METHOD REF_GRID->CHECK_CHANGED_DATA
      ENDIF.
    ENDFORM.
    Regards
    vijay

  • URGENT: - REGARDING ALV REPORT

    hi,
        i had made dis report in ALV and i want to display d heading format as follows:-
            NAME:- TEST PROGRAM
            date: - 21.05.2007
            time:- 1:30:23 am
    moreover i want to see the print perview of it but it is giving runtime error.
    plz help me in solving dis problem and he or she will be definately rewarded..
    *& Report  ZMFTEST5
    REPORT  ZMFTEST5 no standard page heading LINE-SIZE 310.
    TABLES : VBAK,ABAP,VBEP,VBKD,MARA,KNA1,MAKT.
    *Varriable declaration.
    TYPE-POOLS SLIS.
    DATA : POS TYPE I.
    DATA REPID LIKE SY-REPID.
    DATA : F1 TYPE SLIS_T_FIELDCAT_ALV,
    F2 TYPE SLIS_FIELDCAT_ALV,
    L_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA L_POS TYPE I VALUE 1. "position of the column
    DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA: GT_EVENTS TYPE SLIS_T_EVENT,
    FS_EVENTCAT LIKE LINE OF GT_EVENTs.
    DATA : T_HEADING TYPE slis_t_listheader.
    INTERNAL TABLE FOR SALES ORDER *****************
    DATA : BEGIN OF ITSO OCCURS 0,
    VBELN LIKE VBAK-VBELN,
    ERDAT LIKE VBAK-ERDAT,
    BSTNK LIKE VBAK-BSTNK,
    KUNNR LIKE VBAK-KUNNR,
    MATNR LIKE VBAP-MATNR,
    POSNR LIKE VBAP-POSNR,
    WMENG LIKE VBEP-WMENG,
    NTGEW LIKE MARA-NTGEW,
    BRGEW LIKE MARA-BRGEW,
    GEWEI LIKE MARA-GEWEI,
    SPART LIKE VBAK-SPART,
    BMENG LIKE VBEP-BMENG,
    EDATU LIKE VBEP-EDATU,
    BSTKD LIKE VBKD-BSTKD,
    WERKS LIKE VBAP-WERKS,
    MEINS LIKE MARA-MEINS,
    KWMENG LIKE VBAP-KWMENG,
    KLMENG LIKE VBAP-KLMENG,
    BALQTY LIKE VBAP-KLMENG,
    SOGWT LIKE MARA-BRGEW,
    SONWT LIKE MARA-BRGEW,
    SINWT LIKE MARA-BRGEW,
    BALGWT LIKE MARA-BRGEW,
    BALNWT LIKE MARA-BRGEW,
    DISPNWT LIKE MARA-BRGEW,
    PARTYNAME LIKE KNA1-NAME1,
    ITEMDESC LIKE MAKT-MAKTX,
    STATUS TYPE C,
    END OF ITSO.
    DATA:B_QTY TYPE P LENGTH 7 DECIMALS 3.
    ***********PARAMETERS***************
    PARAMETERS : PLANT LIKE VBAP-WERKS OBLIGATORY.
    *********SELECTION SCREEN OPTIONS*********
    SELECT-OPTIONS : SO_ORD FOR VBAK-VBELN,
    SO_PARTY FOR VBAK-KUNNR,
    IT_M FOR MARA-MATNR,
    DIV FOR VBAK-SPART,
    SO_DATE FOR VBAK-ERDAT,
    S_DATE FOR VBEP-EDATU.
    START-OF-SELECTION.
    SELECT DISTINCT A~VBELN A~ERDAT A~BSTNK A~KUNNR B~SPART B~MATNR B~POSNR B~WERKS B~KWMENG B~KBMENG C~NTGEW C~BRGEW C~GEWEI D~WMENG D~BMENG D~EDATU D~VBELN
    FROM VBAK AS A INNER JOIN VBAP AS B ON B~VBELN = A~VBELN
    INNER JOIN MARA AS C ON C~MATNR = B~MATNR
    INNER JOIN VBEP AS D ON D~WMENG > 0 AND D~VBELN = A~VBELN AND D~POSNR = B~POSNR
    INTO CORRESPONDING FIELDS OF TABLE ITSO
    WHERE A~VBELN IN SO_ORD AND A~KUNNR IN SO_PARTY AND B~SPART IN DIV AND A~ERDAT IN SO_DATE AND D~EDATU IN S_DATE AND B~MATNR IN IT_M AND B~WERKS = PLANT.
    IF SY-SUBRC <> 0.
    MESSAGE E899(M3) WITH 'No records'.
    ENDIF.
    DATA : V_NETWT LIKE MARA-NTGEW,
           V_GRWT LIKE MARA-NTGEW,
           V_SOSTAT TYPE C.
    LOOP AT ITSO.
      if ITSO-bmeng = 0.
        V_SOSTAT = 'A'.
      ELSEIF ITSO-WMENG <> ITSO-BMENG.
        V_SOSTAT = 'B'.
      ELSE.
        V_SOSTAT = 'C'.
      ENDIF.
      IF ITSO-GEWEI = 'G'.
        V_NETWT = ITSO-NTGEW / 1000.
        V_GRWT = ITSO-BRGEW / 1000.
      ELSEIF ITSO-GEWEI = 'KG'.
        V_NETWT = ITSO-NTGEW.
        V_GRWT = ITSO-BRGEW.
      ELSEIF ITSO-GEWEI = 'TO'.
        V_NETWT = ITSO-NTGEW * 1000.
        V_GRWT = ITSO-BRGEW * 1000.
      ENDIF.
      ITSO-STATUS = V_SOSTAT.
      ITSO-SOGWT = V_GRWT * ITSO-WMENG / 1000.
      ITSO-SONWT = V_NETWT * ITSO-WMENG / 1000.
      ITSO-SINWT = V_GRWT * ITSO-BMENG / 1000.
      ITSO-BALGWT = V_GRWT * ( ITSO-WMENG - ITSO-BMENG )  / 1000.
      ITSO-BALNWT = V_NETWT * ( ITSO-WMENG - ITSO-BMENG )  / 1000.
      ITSO-DISPNWT = V_NETWT * ITSO-BMENG  / 1000.
      ITSO-BALQTY = ITSO-WMENG - ITSO-BMENG.
      SELECT SINGLE NAME1 FROM KNA1 INTO ITSO-PARTYNAME WHERE KUNNR = ITSO-KUNNR.
      SELECT SINGLE MAKTX FROM MAKT INTO ITSO-ITEMDESC WHERE MATNR = ITSO-MATNR.
      MODIFY ITSO.
    ENDLOOP.
    perform f_build_eventcat.
    PERFORM LAYOUT using t_heading.
    END-OF-SELECTION.
    FORM LAYOUT using t_heading  type slis_t_listheader.
    data : t_event    type slis_t_event.
    PERFORM FCAT USING 'WERKS'     'ITSO' '' 'PLANT '               'WERKS'     'VBAP' ''.
    PERFORM FCAT USING 'VBELN'     'ITSO' '' 'SO NO. '              'VBELN'     'VBAK' ''.
    PERFORM FCAT USING 'ERDAT'     'ITSO' '' 'S.O.DATE'             'ERDAT'     'VBAK' ''.
    PERFORM FCAT USING 'BSTNK'     'ITSO' '' 'P.O.N.O.'             'BSTNK'     'VBAK' ''.
    PERFORM FCAT USING 'KUNNR'     'ITSO' '' 'PARTY '               'KUNNR'     'VBAP' ''.
    PERFORM FCAT USING 'PARTYNAME' 'ITSO' '' 'PARTY DESCRIPTION'    'PARTYNAME' ''     ''.
    PERFORM FCAT USING 'ITEMDESC'  'ITSO' '' 'MATERIAL DESCRIPTION' 'ITEMDESC'  ''     ''.
    PERFORM FCAT USING 'MATNR'     'ITSO' '' 'MAT.NO. '             'MATNR'     'MARA' ''.
    PERFORM FCAT USING 'POSNR'     'ITSO' '' 'LINE.ITEM'            'POSNR'     'VBAP' ''.
    PERFORM FCAT USING 'WMENG'     'ITSO' '' 'S.O.QTY'              'WMENG'     'VBEP' '' .
    PERFORM FCAT USING 'EDATU'     'ITSO' '' 'SCH.DATE'             'EDATU'     'VBEP' ''.
    PERFORM FCAT USING 'SONWT'     'ITSO' '' 'S.O.NWT '             'P'         ''     ''.
    PERFORM FCAT USING 'SOGWT'     'ITSO' '' 'S.O.GWT '             'P'         ''     ''.
    PERFORM FCAT USING 'SPART'     'ITSO' '' 'DIV    '              'SPART'     'VBAP' ''.
    PERFORM FCAT USING 'BMENG'     'ITSO' '' 'DISP.QTY'             'BMENG'     'VBEP' ''.
    PERFORM FCAT USING 'DISPNWT'   'ITSO' '' 'DISP.NT.WT '          'P'         ''     ''.
    PERFORM FCAT USING 'BALQTY'    'ITSO' '' 'BAL.QTY.'             'P'         ''     ''.
    PERFORM FCAT USING 'BALNWT'    'ITSO' '' 'BAL.NT.WT '           'P'         ''     ''.
    PERFORM FCAT USING 'BALGWT'    'ITSO' '' 'BAL.GR.WT '           'P'         ''     ''.
    PERFORM FCAT USING 'STATUS'    'ITSO' '' 'STATUS'               'STATUS'    ''     ''.
    refresh t_event.
    *perform set_top_page_heading using t_heading t_event.
    REPID = SY-REPID.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                =
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
       I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
      IT_FIELDCAT                       = F1
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      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
      IT_ALV_GRAPHICS                   =
      IT_ADD_FIELDCAT                   =
      IT_HYPERLINK                      =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
      IT_EXCEPT_QINFO                   =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
    TABLES
       T_OUTTAB                          = ITSO
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
    ENDFORM. " LAYOUT
    *& Form FCAT
    FORM FCAT USING P_FIELD P_TABLE P_SUM P_TEXT P_RFIELD P_RTABLE P_DISP.
    ADD 1 TO POS.
    F2-COL_POS = POS.
    F2-FIELDNAME = P_FIELD.
    F2-TABNAME = P_TABLE.
    F2-SELTEXT_L = P_TEXT.
    F2-REF_FIELDNAME = P_RFIELD.
    F2-REF_TABNAME = P_RTABLE.
    F2-DO_SUM = P_SUM.
    F2-NO_OUT = P_DISP.
    APPEND F2 TO F1.
    CLEAR F2.
    ENDFORM. " FCAT
    FORM F_BUILD_EVENTCAT .
    CLEAR: GT_EVENTS. REFRESH: GT_EVENTS.
    CLEAR: FS_EVENTCAT.
    FS_EVENTCAT-NAME = 'TOP_OF_PAGE'.
    FS_EVENTCAT-FORM = 'F_REPORT_HEADER_ALV'.
    APPEND FS_EVENTCAT TO GT_EVENTS.
    CLEAR: FS_EVENTCAT.
    FS_EVENTCAT-NAME = 'END_OF_LIST'.
    FS_EVENTCAT-FORM = 'F_WRITE_SUMMARY'.
    APPEND FS_EVENTCAT TO GT_EVENTS.
    ENDFORM.
    *FORM F_REPORT_HEADER_ALV.
    *CALL FUNCTION 'Z_HEAD_PRINT'
    EXPORTING
    WRITE: / TITLE1 = 'XYZ Limited'
    TITLE2 = 'Sales Order Report'
    TITLE3 = 'Created on '
    COLOR = 'X'.
    *ENDFORM.
    FORM F_WRITE_SUMMARY .
    write:/ 'Welcome to XYZ Limited'.
    write:/ 'This is a test program to display Report in ALV Format'.
    ENDFORM.
    *&      Form  set_top_page_heading
          text
         -->P_T_HEADING  text
    *form set_top_page_heading  using    t_heading
                                       t_events  type slis_t_event.
    *data: x_heading type slis_listheader,
         x_event   type line of slis_t_event.
    Report title
    clear t_heading[].
    clear x_heading.
    x_heading-typ = 'H'.
    x_heading-info = ''(001).
    append x_heading to t_heading.
    t_heading-info = 'TEST'.
    t_heading-typ = 'H'.
    Program name
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Program: '.
    x_heading-info = sy-repid.
    append x_heading to t_heading.
    User who is running the report
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'User: '.
    x_heading-info = sy-uname.
    append x_heading to t_heading.
    Date of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Date: '.
    write sy-datum to x_heading-info.
    append x_heading to t_heading.
    Time of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Time: '.
    write sy-uzeit to x_heading-info.
    append x_heading to t_heading.
    Top of page event
    x_event-name = slis_ev_top_of_page.
    x_event-form = 'TOP_OF_PAGE'.
    append x_event to t_events.
    *endform.                    " set_top_page_heading

    Hi,
    i had change ur code just copy this and try,i hope it will work.
    REPORT ZMFTEST5 no standard page heading LINE-SIZE 310.
    TABLES : VBAK,ABAP,VBEP,VBKD,MARA,KNA1,MAKT.
    *Varriable declaration.
    TYPE-POOLS SLIS.
    DATA : POS TYPE I.
    DATA REPID LIKE SY-REPID.
    ****************CHANGES**************
    DATA : FDATE TYPE STRING,
           FTIME TYPE STRING,
           FNAME TYPE STRING.
    ****************CHANGES**************
    DATA : F1 TYPE SLIS_T_FIELDCAT_ALV,
    F2 TYPE SLIS_FIELDCAT_ALV,
    L_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA L_POS TYPE I VALUE 1. "position of the column
    DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA: GT_EVENTS TYPE SLIS_T_EVENT,
    FS_EVENTCAT LIKE LINE OF GT_EVENTs.
    DATA : T_HEADING TYPE slis_t_listheader.
    INTERNAL TABLE FOR SALES ORDER *****************
    DATA : BEGIN OF ITSO OCCURS 0,
    VBELN LIKE VBAK-VBELN,
    ERDAT LIKE VBAK-ERDAT,
    BSTNK LIKE VBAK-BSTNK,
    KUNNR LIKE VBAK-KUNNR,
    MATNR LIKE VBAP-MATNR,
    POSNR LIKE VBAP-POSNR,
    WMENG LIKE VBEP-WMENG,
    NTGEW LIKE MARA-NTGEW,
    BRGEW LIKE MARA-BRGEW,
    GEWEI LIKE MARA-GEWEI,
    SPART LIKE VBAK-SPART,
    BMENG LIKE VBEP-BMENG,
    EDATU LIKE VBEP-EDATU,
    BSTKD LIKE VBKD-BSTKD,
    WERKS LIKE VBAP-WERKS,
    MEINS LIKE MARA-MEINS,
    KWMENG LIKE VBAP-KWMENG,
    KLMENG LIKE VBAP-KLMENG,
    BALQTY LIKE VBAP-KLMENG,
    SOGWT LIKE MARA-BRGEW,
    SONWT LIKE MARA-BRGEW,
    SINWT LIKE MARA-BRGEW,
    BALGWT LIKE MARA-BRGEW,
    BALNWT LIKE MARA-BRGEW,
    DISPNWT LIKE MARA-BRGEW,
    PARTYNAME LIKE KNA1-NAME1,
    ITEMDESC LIKE MAKT-MAKTX,
    STATUS TYPE C,
    END OF ITSO.
    DATA:B_QTY TYPE P LENGTH 7 DECIMALS 3.
    ***********PARAMETERS***************
    PARAMETERS : PLANT LIKE VBAP-WERKS OBLIGATORY.
    *********SELECTION SCREEN OPTIONS*********
    SELECT-OPTIONS : SO_ORD FOR VBAK-VBELN,
    SO_PARTY FOR VBAK-KUNNR,
    IT_M FOR MARA-MATNR,
    DIV FOR VBAK-SPART,
    SO_DATE FOR VBAK-ERDAT,
    S_DATE FOR VBEP-EDATU.
    START-OF-SELECTION.
    SELECT DISTINCT A~VBELN A~ERDAT A~BSTNK A~KUNNR B~SPART B~MATNR B~POSNR B~WERKS B~KWMENG B~KBMENG C~NTGEW C~BRGEW C~GEWEI D~WMENG D~BMENG D~EDATU D~VBELN
    FROM VBAK AS A INNER JOIN VBAP AS B ON B~VBELN = A~VBELN
    INNER JOIN MARA AS C ON C~MATNR = B~MATNR
    INNER JOIN VBEP AS D ON D~WMENG > 0 AND D~VBELN = A~VBELN AND D~POSNR = B~POSNR
    INTO CORRESPONDING FIELDS OF TABLE ITSO
    WHERE A~VBELN IN SO_ORD AND A~KUNNR IN SO_PARTY AND B~SPART IN DIV AND A~ERDAT IN SO_DATE AND D~EDATU IN S_DATE AND B~MATNR IN IT_M AND B~WERKS = PLANT.
    IF SY-SUBRC <> 0.
    MESSAGE E899(M3) WITH 'No records'.
    ENDIF.
    DATA : V_NETWT LIKE MARA-NTGEW,
    V_GRWT LIKE MARA-NTGEW,
    V_SOSTAT TYPE C.
    LOOP AT ITSO.
    if ITSO-bmeng = 0.
    V_SOSTAT = 'A'.
    ELSEIF ITSO-WMENG <> ITSO-BMENG.
    V_SOSTAT = 'B'.
    ELSE.
    V_SOSTAT = 'C'.
    ENDIF.
    IF ITSO-GEWEI = 'G'.
    V_NETWT = ITSO-NTGEW / 1000.
    V_GRWT = ITSO-BRGEW / 1000.
    ELSEIF ITSO-GEWEI = 'KG'.
    V_NETWT = ITSO-NTGEW.
    V_GRWT = ITSO-BRGEW.
    ELSEIF ITSO-GEWEI = 'TO'.
    V_NETWT = ITSO-NTGEW * 1000.
    V_GRWT = ITSO-BRGEW * 1000.
    ENDIF.
    ITSO-STATUS = V_SOSTAT.
    ITSO-SOGWT = V_GRWT * ITSO-WMENG / 1000.
    ITSO-SONWT = V_NETWT * ITSO-WMENG / 1000.
    ITSO-SINWT = V_GRWT * ITSO-BMENG / 1000.
    ITSO-BALGWT = V_GRWT * ( ITSO-WMENG - ITSO-BMENG ) / 1000.
    ITSO-BALNWT = V_NETWT * ( ITSO-WMENG - ITSO-BMENG ) / 1000.
    ITSO-DISPNWT = V_NETWT * ITSO-BMENG / 1000.
    ITSO-BALQTY = ITSO-WMENG - ITSO-BMENG.
    SELECT SINGLE NAME1 FROM KNA1 INTO ITSO-PARTYNAME WHERE KUNNR = ITSO-KUNNR.
    SELECT SINGLE MAKTX FROM MAKT INTO ITSO-ITEMDESC WHERE MATNR = ITSO-MATNR.
    MODIFY ITSO.
    ENDLOOP.
    perform f_build_eventcat.
    PERFORM LAYOUT using t_heading.
    END-OF-SELECTION.
    FORM LAYOUT using t_heading type slis_t_listheader.
    data : t_event type slis_t_event.
    PERFORM FCAT USING 'WERKS' 'ITSO' '' 'PLANT ' 'WERKS' 'VBAP' ''.
    PERFORM FCAT USING 'VBELN' 'ITSO' '' 'SO NO. ' 'VBELN' 'VBAK' ''.
    PERFORM FCAT USING 'ERDAT' 'ITSO' '' 'S.O.DATE' 'ERDAT' 'VBAK' ''.
    PERFORM FCAT USING 'BSTNK' 'ITSO' '' 'P.O.N.O.' 'BSTNK' 'VBAK' ''.
    PERFORM FCAT USING 'KUNNR' 'ITSO' '' 'PARTY ' 'KUNNR' 'VBAP' ''.
    PERFORM FCAT USING 'PARTYNAME' 'ITSO' '' 'PARTY DESCRIPTION' 'PARTYNAME' '' ''.
    PERFORM FCAT USING 'ITEMDESC' 'ITSO' '' 'MATERIAL DESCRIPTION' 'ITEMDESC' '' ''.
    PERFORM FCAT USING 'MATNR' 'ITSO' '' 'MAT.NO. ' 'MATNR' 'MARA' ''.
    PERFORM FCAT USING 'POSNR' 'ITSO' '' 'LINE.ITEM' 'POSNR' 'VBAP' ''.
    PERFORM FCAT USING 'WMENG' 'ITSO' '' 'S.O.QTY' 'WMENG' 'VBEP' '' .
    PERFORM FCAT USING 'EDATU' 'ITSO' '' 'SCH.DATE' 'EDATU' 'VBEP' ''.
    PERFORM FCAT USING 'SONWT' 'ITSO' '' 'S.O.NWT ' 'P' '' ''.
    PERFORM FCAT USING 'SOGWT' 'ITSO' '' 'S.O.GWT ' 'P' '' ''.
    PERFORM FCAT USING 'SPART' 'ITSO' '' 'DIV ' 'SPART' 'VBAP' ''.
    PERFORM FCAT USING 'BMENG' 'ITSO' '' 'DISP.QTY' 'BMENG' 'VBEP' ''.
    PERFORM FCAT USING 'DISPNWT' 'ITSO' '' 'DISP.NT.WT ' 'P' '' ''.
    PERFORM FCAT USING 'BALQTY' 'ITSO' '' 'BAL.QTY.' 'P' '' ''.
    PERFORM FCAT USING 'BALNWT' 'ITSO' '' 'BAL.NT.WT ' 'P' '' ''.
    PERFORM FCAT USING 'BALGWT' 'ITSO' '' 'BAL.GR.WT ' 'P' '' ''.
    PERFORM FCAT USING 'STATUS' 'ITSO' '' 'STATUS' 'STATUS' '' ''.
    refresh t_event.
    *perform set_top_page_heading using t_heading t_event.
    REPID = SY-REPID.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_CALLBACK_TOP_OF_PAGE = ' '
    I_CALLBACK
    I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP'
    I_CALLBACK_HTML_END_OF_LIST = ' '
    I_STRUCTURE_NAME =
    I_BACKGROUND_ID = ' '
    I_GRID_TITLE =
    I_GRID_SETTINGS =
    IS_LAYOUT =
    IT_FIELDCAT = F1
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    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
    IT_ALV_GRAPHICS =
    IT_ADD_FIELDCAT =
    IT_HYPERLINK =
    I_HTML_HEIGHT_TOP =
    I_HTML_HEIGHT_END =
    IT_EXCEPT_QINFO =
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = ITSO
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    ENDFORM. " LAYOUT
    *& Form FCAT
    FORM FCAT USING P_FIELD P_TABLE P_SUM P_TEXT P_RFIELD P_RTABLE P_DISP.
    ADD 1 TO POS.
    F2-COL_POS = POS.
    F2-FIELDNAME = P_FIELD.
    F2-TABNAME = P_TABLE.
    F2-SELTEXT_L = P_TEXT.
    F2-REF_FIELDNAME = P_RFIELD.
    F2-REF_TABNAME = P_RTABLE.
    F2-DO_SUM = P_SUM.
    F2-NO_OUT = P_DISP.
    APPEND F2 TO F1.
    CLEAR F2.
    ENDFORM. " FCAT
    FORM F_BUILD_EVENTCAT .
    CLEAR: GT_EVENTS. REFRESH: GT_EVENTS.
    CLEAR: FS_EVENTCAT.
    FS_EVENTCAT-NAME = 'TOP_OF_PAGE'.
    FS_EVENTCAT-FORM = 'F_REPORT_HEADER_ALV'.
    APPEND FS_EVENTCAT TO GT_EVENTS.
    CLEAR: FS_EVENTCAT.
    FS_EVENTCAT-NAME = 'END_OF_LIST'.
    FS_EVENTCAT-FORM = 'F_WRITE_SUMMARY'.
    APPEND FS_EVENTCAT TO GT_EVENTS.
    ENDFORM.
    *FORM F_REPORT_HEADER_ALV.
    *CALL FUNCTION 'Z_HEAD_PRINT'
    EXPORTING
    WRITE: / TITLE1 = 'XYZ Limited'
    TITLE2 = 'Sales Order Report'
    TITLE3 = 'Created on '
    COLOR = 'X'.
    *ENDFORM.
    FORM F_WRITE_SUMMARY .
    write:/ 'Welcome to XYZ Limited'.
    write:/ 'This is a test program to display Report in ALV Format'.
    ENDFORM.
    FORM TOP.
      DATA: WT_HEADER TYPE SLIS_T_LISTHEADER,
            WA_HEADER TYPE SLIS_LISTHEADER.
    CONCATENATE 'DATE:-' SY-DATUM INTO FDATE.
    CONCATENATE 'TIME:-' SY-UZEIT INTO FTIME.
    FNAME = 'NAME:- TEST'.
      WA_HEADER-TYP = HEADER.
      WA_HEADER-INFO = FNAME.
      APPEND WA_HEADER TO WT_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = HEADER.
      WA_HEADER-INFO = FDATE.
      APPEND WA_HEADER TO WT_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = HEADER.
      WA_HEADER-INFO = FTIME.
      APPEND WA_HEADER TO WT_HEADER.
      CLEAR WA_HEADER.
    ENDFORM.                   
    *& Form set_top_page_heading
    text
    -->P_T_HEADING text
    *form set_top_page_heading using t_heading
    t_events type slis_t_event.
    *data: x_heading type slis_listheader,
    x_event type line of slis_t_event.
    Report title
    clear t_heading[].
    clear x_heading.
    x_heading-typ = 'H'.
    x_heading-info = ''(001).
    append x_heading to t_heading.
    t_heading-info = 'TEST'.
    t_heading-typ = 'H'.
    Program name
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Program: '.
    x_heading-info = sy-repid.
    append x_heading to t_heading.
    User who is running the report
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'User: '.
    x_heading-info = sy-uname.
    append x_heading to t_heading.
    Date of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Date: '.
    write sy-datum to x_heading-info.
    append x_heading to t_heading.
    Time of execution
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'Time: '.
    write sy-uzeit to x_heading-info.
    append x_heading to t_heading.
    Top of page event
    x_event-name = slis_ev_top_of_page.
    x_event-form = 'TOP_OF_PAGE'.
    append x_event to t_events.
    *endform. " set_top_page_heading
    *please do reward points if helpful
    Thanks and Regards,
    S.N.Venkatesh

  • Urgent: Regarding Stock Ageing report

    hi,
    i want to have stock ageing report in which i want to have the deatils :-
    This is the material which is present in the palnt from dis <b>date</b> and further details of it consumption. plzz tell the <b>tcode</b> for it.
    plzz help me out as it is most urgent to me..
    regards,
    ric.s
    Message was edited by:
            ric .s

    Hi
    The report MC.9 shows Last movement date/Last receipt date / Last issue date.
    In period to analyze give appropriate date range
    Or
    check  MSEG & MARD table to get details about material documents with date
    Vishal...

  • Very urgent: regarding  problem in  display of output

    hi,
    i am modifying a report in which i have to display the stock date wise, i.e. it will display that the at this date this amount of stock is there.
    currently the code is able to display the according to this criteria that if date is <= 15 then it will display the stock of previous month and if it is >= 16 then it will display the stcok of last date of current month.
    but i  want to display the data in way that it will read the rest of the records from the other itab ITMSEG.
    should i display the code of it? that it will display more clear picture.
    Edited by: ric .s on Mar 31, 2008 8:23 AM

    hi,
    dis is d 1st part which do the segregation of date:-
    parameters: p_date LIKE ZSTOCKSUM-STLDATE default sy-datum.
    data: num type i,
         w_date type d.
    aa = p_date.
    num = p_date+6(2).
    if num <= 15.
    p_date+6(2) = 01.
    w_date = p_date - 1.
    elseif num => 16.
    p_date = p_date + 30.
    p_date+6(2) = 01.
    w_date = p_date - 1.
    endif.
    And it the part where it have to fetch the records:-
    SELECT ASTLDATE AMATNR AWERKS ALGORT ASTDEBIT ASTCREDIT
      BMEINS  BMTART BMATKL BNTGEW B~GEWEI
      FROM ZSTOCKSUM AS A
      INNER JOIN MARA AS B ON AMATNR = BMATNR
      INTO TABLE STIT
      WHERE AWERKS = P_WERKS AND MTART IN MAT_TYPE AND AMATNR IN P_MATNR AND STLDATE <= P_DATE
      AND ( MTART = 'FERT' OR MTART = 'HALB' OR MTART = 'ZBOP' OR MTART = 'ZSCR' OR MTART = 'ROH' )
      AND A~LGORT IN P_STLOC.
    SELECT BBUDAT AMATNR AWERKS ALGORT AMENGE AMENGE
      CMEINS CMTART CMATKL CNTGEW C~GEWEI
      FROM MSEG AS A INNER JOIN MKPF AS B ON AMBLNR = BMBLNR AND AMJAHR = BMJAHR
      INNER JOIN MARA AS C ON  AMATNR = CMATNR
      INTO TABLE ITMSEG  WHERE AWERKS = P_WERKS AND MTART IN MAT_TYPE AND AMATNR IN P_MATNR AND BUDAT <= P_DATE AND BUDAT => aa
      AND ( MTART = 'FERT' OR MTART = 'HALB' OR MTART = 'ZBOP' OR MTART = 'ZSCR' OR MTART = 'ROH' )
      AND A~LGORT IN P_STLOC.
    SORT ITMSEG BY MATNR WERKS LGORT MEINS MTART MATKL NTGEW GEWEI.
    DELETE ADJACENT DUPLICATES FROM ITMSEG COMPARING MATNR WERKS LGORT MEINS MTART MATKL NTGEW GEWEI NTGEW.
      INSERT LINES OF ITMSEG INTO TABLE STIT.
        ITAB[] = STIT[].
        SORT ITAB BY MATNR WERKS LGORT MEINS MTART MATKL NTGEW GEWEI NTGEW.
        DELETE ADJACENT DUPLICATES FROM ITAB COMPARING  MATNR WERKS LGORT MEINS MTART MATKL NTGEW GEWEI NTGEW.
      SORT STIT BY MATNR LGORT.
      SORT ITAB BY MATNR LGORT.
      LOOP AT ITAB.
        V_QTY = 0.
    LOOP AT STIT WHERE MATNR = ITAB-MATNR AND LGORT = ITAB-LGORT.
    if num <= 15.
        V_QTY = V_QTY + STIT-STDEBIT - STIT-STCREDIT + ITMSEG-MENGE.
    *IF AA >= 16.
    else.
        V_QTY = V_QTY + STIT-STDEBIT - STIT-STCREDIT - ITMSEG-MENGE.
    endif.
    ENDLOOP.
    this is the code where i think the problem is as it is able to display the data in debug mode but when it comes to actual report execution it is not displaying it i.e. if the stcok of material is changed on today's date it is showing but when i want to see the stock of previous date it is still showing the same. plzz help me out it is really urgent.
    Edited by: ric .s on Mar 31, 2008 11:06 AM

  • Urgent: Error-Record 39,779, segment 0001 is not in the cross-record table

    Hi Gurus,
    This is an urgent production issue: I got the following error-
    I am updating data records from a DSO to Infocube in delta mode,
    1.Record 39,779, segment 0001 is not in the cross-record table
    2.Error in substep: End Routine
    I dont know problem is in the End Routine or somewhere else,
    The End routine is this:
    PROGRAM trans_routine.
          CLASS routine DEFINITION
    CLASS lcl_transform DEFINITION.
      PUBLIC SECTION.
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *-    Instance for getting request runtime attributs;
        Available information: Refer to methods of
        interface 'if_rsbk_request_admintab_view'
          p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
      PRIVATE SECTION.
        TYPE-POOLS: rsd, rstr.
      Rule specific types
        TYPES:
          BEGIN OF tys_TG_1,
         InfoObject: ZVEHICLE Unique Vehicle ID.
            /BIC/ZVEHICLE           TYPE /BIC/OIZVEHICLE,
         InfoObject: ZLOCID Mine Site.
            /BIC/ZLOCID           TYPE /BIC/OIZLOCID,
         InfoObject: ZLOCSL Location Storage Location.
            /BIC/ZLOCSL           TYPE /BIC/OIZLOCSL,
         InfoObject: 0VENDOR Vendor.
            VENDOR           TYPE /BI0/OIVENDOR,
         InfoObject: ZNOMTK Nomination Number.
            /BIC/ZNOMTK           TYPE /BIC/OIZNOMTK,
         InfoObject: ZNOMIT Nomination Item.
            /BIC/ZNOMIT           TYPE /BIC/OIZNOMIT,
         InfoObject: ZNOMNR Nomination number.
            /BIC/ZNOMNR           TYPE /BIC/OIZNOMNR,
         InfoObject: ZVSTTIME Vehicle Starting Time Stamp.
            /BIC/ZVSTTIME           TYPE /BIC/OIZVSTTIME,
         InfoObject: ZVEDTIME Vehicle Ending Time Stamp.
            /BIC/ZVEDTIME           TYPE /BIC/OIZVEDTIME,
         InfoObject: ZNETWT Net Weight.
            /BIC/ZNETWT           TYPE /BIC/OIZNETWT,
         InfoObject: TU_GRS_WG Gross Wgt.
            /BIC/TU_GRS_WG           TYPE /BIC/OITU_GRS_WG,
         InfoObject: ZTU_TRE_W Tare Wgt.
            /BIC/ZTU_TRE_W           TYPE /BIC/OIZTU_TRE_W,
         InfoObject: ZCUSTWT Customer Weight.
            /BIC/ZCUSTWT           TYPE /BIC/OIZCUSTWT,
         InfoObject: ZCAR_NO Car Number.
            /BIC/ZCAR_NO           TYPE /BIC/OIZCAR_NO,
         InfoObject: ZINBND_ID Train Consist Inbound ID.
            /BIC/ZINBND_ID           TYPE /BIC/OIZINBND_ID,
         InfoObject: ZOTBND_ID Train Consist Return Load.
            /BIC/ZOTBND_ID           TYPE /BIC/OIZOTBND_ID,
         InfoObject: 0SOLD_TO Sold-to Party.
            SOLD_TO           TYPE /BI0/OISOLD_TO,
         InfoObject: 0CUSTOMER Customer Number.
            CUSTOMER           TYPE /BI0/OICUSTOMER,
         InfoObject: 0SHIP_TO Ship-To Party.
            SHIP_TO           TYPE /BI0/OISHIP_TO,
         InfoObject: ZVEHI_NO Vehicle Number.
            /BIC/ZVEHI_NO           TYPE /BIC/OIZVEHI_NO,
         InfoObject: ZCARSTDAT Car Start Date.
            /BIC/ZCARSTDAT           TYPE /BIC/OIZCARSTDAT,
         InfoObject: ZCAREDDAT Car End Date.
            /BIC/ZCAREDDAT           TYPE /BIC/OIZCAREDDAT,
         InfoObject: ZCARSTTIM Car Start Time.
            /BIC/ZCARSTTIM           TYPE /BIC/OIZCARSTTIM,
         InfoObject: ZCAREDTIM Car End Time.
            /BIC/ZCAREDTIM           TYPE /BIC/OIZCAREDTIM,
         InfoObject: 0COMPANY Company.
            COMPANY           TYPE /BI0/OICOMPANY,
         InfoObject: ZCONTRACT Contract.
            /BIC/ZCONTRACT           TYPE /BIC/OIZCONTRACT,
         InfoObject: 0PLANT Plant.
            PLANT           TYPE /BI0/OIPLANT,
         InfoObject: ZLOADTIME Total Vehicle Loading time.
            /BIC/ZLOADTIME           TYPE /BIC/OIZLOADTIME,
         InfoObject: ZSHIPDATE Shipping Date.
            /BIC/ZSHIPDATE           TYPE /BIC/OIZSHIPDATE,
         InfoObject: ZSHIPTIME Shipping Time.
            /BIC/ZSHIPTIME           TYPE /BIC/OIZSHIPTIME,
         InfoObject: ZMNEDDT Manifest End Date.
            /BIC/ZMNEDDT           TYPE /BIC/OIZMNEDDT,
         InfoObject: ZMNEDTM Manifest End Time.
            /BIC/ZMNEDTM           TYPE /BIC/OIZMNEDTM,
         InfoObject: ZLDEDDT Loaded End Date.
            /BIC/ZLDEDDT           TYPE /BIC/OIZLDEDDT,
         InfoObject: ZLDEDTM Loaded End Time.
            /BIC/ZLDEDTM           TYPE /BIC/OIZLDEDTM,
         InfoObject: ZMANVAR Manifest Variance.
            /BIC/ZMANVAR           TYPE /BIC/OIZMANVAR,
         InfoObject: ZTU_TYPE Trpr Unit Type.
            /BIC/ZTU_TYPE           TYPE /BIC/OIZTU_TYPE,
         InfoObject: ZACTULQTY Actual posted quantity.
            /BIC/ZACTULQTY           TYPE /BIC/OIZACTULQTY,
         InfoObject: ZVEDDT Vehicle End Date.
            /BIC/ZVEDDT           TYPE /BIC/OIZVEDDT,
         InfoObject: ZVEDTM Vehicle End Time.
            /BIC/ZVEDTM           TYPE /BIC/OIZVEDTM,
         InfoObject: ZVSTDT Vehicle Start Date.
            /BIC/ZVSTDT           TYPE /BIC/OIZVSTDT,
         InfoObject: ZVSTTM Vehicle Start Time.
            /BIC/ZVSTTM           TYPE /BIC/OIZVSTTM,
         InfoObject: ZTRPT_TYP Vehicle type.
            /BIC/ZTRPT_TYP           TYPE /BIC/OIZTRPT_TYP,
         InfoObject: 0CALMONTH Calendar Year/Month.
            CALMONTH           TYPE /BI0/OICALMONTH,
         InfoObject: 0CALYEAR Calendar Year.
            CALYEAR           TYPE /BI0/OICALYEAR,
         InfoObject: ZLOEDDT Quality Sent End Date.
            /BIC/ZLOEDDT           TYPE /BIC/OIZLOEDDT,
         InfoObject: ZLOEDTM Quality sent End Time.
            /BIC/ZLOEDTM           TYPE /BIC/OIZLOEDTM,
         InfoObject: ZATMDDT At Mine End Date.
            /BIC/ZATMDDT           TYPE /BIC/OIZATMDDT,
         InfoObject: ZATMDTM At Mine End Time.
            /BIC/ZATMDTM           TYPE /BIC/OIZATMDTM,
         InfoObject: ZDELAY Delay Duration.
            /BIC/ZDELAY           TYPE /BIC/OIZDELAY,
         InfoObject: ZSITYP Schedule type.
            /BIC/ZSITYP           TYPE /BIC/OIZSITYP,
         InfoObject: ZDOCIND Reference document indicator.
            /BIC/ZDOCIND           TYPE /BIC/OIZDOCIND,
         InfoObject: 0BASE_UOM Base Unit of Measure.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
         InfoObject: 0UNIT Unit of Measure.
            UNIT           TYPE /BI0/OIUNIT,
         InfoObject: ZACT_UOM Actual UOM.
            /BIC/ZACT_UOM           TYPE /BIC/OIZACT_UOM,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_TG_1.
        TYPES:
          tyt_TG_1        TYPE STANDARD TABLE OF tys_TG_1
                            WITH NON-UNIQUE DEFAULT KEY.
    $$ begin of global - insert your declaration only below this line  -
    ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
        METHODS
          end_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              RESULT_PACKAGE              type tyt_TG_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_end_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
    ... "insert your code here
    $$ end of 2nd part global - insert your code only before this line   *
          CLASS routine IMPLEMENTATION
    CLASS lcl_transform IMPLEMENTATION.
          Method end_routine
          Calculation of result package via end routine
          Note: Update of target fields depends on rule assignment in
          transformation editor. Only fields that have a rule assigned,
          are updated to the data target.
      <-> result package
      METHOD end_routine.
    *=== Segments ===
        FIELD-SYMBOLS:
          <RESULT_FIELDS>    TYPE tys_TG_1.
        DATA:
          MONITOR_REC     TYPE rstmonitor.
    *$*$ begin of routine - insert your code only below this line        *-*
    Fill the following fields by reading Nomination and Vehicls DSO
    SOLD_TO, Customer
    data: L_TIMESTAMP1 TYPE timestamp,
          L_TIMESTAMP2 TYPE timestamp,
          L_TIMESTAMP3 type CCUPEAKA-TIMESTAMP,
          L_TIMESTAMP4 type CCUPEAKA-TIMESTAMP,
          L_TIMESTAMP5 type CCUPEAKA-TIMESTAMP,
          L_TIMESTAMP6 type CCUPEAKA-TIMESTAMP,
          L_TIMESTAMP7 TYPE timestamp,
          L_TIMESTAMP8 TYPE timestamp,
          L_TIMESTAMP9 type timestamp,
          L_TIMESTAMP10 type TIMESTAMP,
          L_CHAR1(14),
          L_CHAR2(14),
          l_duration type I,
          L_TS TYPE TZONREF-TZONE,
          l_flag,
          l_nomit TYPE /BIC/OIZNOMIT,
          l_error_flag.
    l_TS = 'CST'.
    Data: EXTRA_PACKAGE type tyt_TG_1.
    data: extra_fields type tys_TG_1.
    LOOP at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.
    clear l_error_flag.
    Get sold_to and customer from nomination table.
       Select single SOLD_TO /BIC/ZLOCSL /BIC/ZCONTRACT COMPANY
                     /BIC/ZMNEDDT /BIC/ZMNEDTM /BIC/ZLDEDDT
                     /BIC/ZLDEDTM SHIP_TO /BIC/ZACTULQTY
                     /BIC/ZLOEDDT /BIC/ZLOEDTM /BIC/ZDELAY
                     /BIC/ZATMDDT /BIC/ZATMDTM
                     /BIC/ZSITYP /BIC/ZDOCIND
               into (<RESULT_FIELDS>-SOLD_TO,
                     <RESULT_FIELDS>-/BIC/ZLOCSL,
                     <RESULT_FIELDS>-/BIC/ZCONTRACT,
                     <RESULT_FIELDS>-company,
                     <RESULT_FIELDS>-/BIC/ZMNEDDT,
                     <RESULT_FIELDS>-/BIC/ZMNEDTM,
                     <RESULT_FIELDS>-/BIC/ZLDEDDT,
                     <RESULT_FIELDS>-/BIC/ZLDEDTM,
                     <RESULT_FIELDS>-SHIP_TO,
                     <RESULT_FIELDS>-/BIC/ZACTULQTY,
                     <RESULT_FIELDS>-/BIC/ZLOEDDT,
                     <RESULT_FIELDS>-/BIC/ZLOEDTM,
                     <RESULT_FIELDS>-/BIC/ZDELAY,
                     <RESULT_FIELDS>-/BIC/ZATMDDT,
                     <RESULT_FIELDS>-/BIC/ZATMDTM,
                     <RESULT_FIELDS>-/BIC/ZSITYP,
                     <RESULT_FIELDS>-/BIC/ZDOCIND)
               from   /BIC/AZTSW_0000
               where /BIC/ZNOMTK = <RESULT_FIELDS>-/BIC/ZNOMTK
                AND  /BIC/ZNOMIT = <RESULT_FIELDS>-/BIC/ZNOMIT.
    Select Invalid Nominations
      if sy-subrc <> 0.
        l_error_flag = 'X'.
      endif.
       <RESULT_FIELDS>-customer = <RESULT_FIELDS>-SOLD_TO.
    Prepare time stamp for Time Differences
    Vehicle Starting Time Stamp
      clear : L_TIMESTAMP9,L_TIMESTAMP10.
      CONVERT DATE <RESULT_FIELDS>-/BIC/ZCARSTDAT TIME
                   <RESULT_FIELDS>-/BIC/ZCARSTTIM
               INTO TIME STAMP L_TIMESTAMP9 TIME ZONE l_TS.
    Vehicle Ending Time Stamp
      CONVERT DATE <RESULT_FIELDS>-/BIC/ZCAREDDAT TIME
                   <RESULT_FIELDS>-/BIC/ZCAREDTIM
               INTO TIME STAMP L_TIMESTAMP10 TIME ZONE l_TS.
      Clear : L_TIMESTAMP3, L_TIMESTAMP4,
             <RESULT_FIELDS>-/BIC/ZVEDTIME,
             <RESULT_FIELDS>-/BIC/ZVSTTIME.
      <RESULT_FIELDS>-/BIC/ZVEDTIME = L_TIMESTAMP10.
      <RESULT_FIELDS>-/BIC/ZVSTTIME = L_TIMESTAMP9.
      L_TIMESTAMP3 = L_TIMESTAMP10.
      L_TIMESTAMP4 = L_TIMESTAMP9.
    Caliculate the load time
    IF L_TIMESTAMP3 is initial.
       clear <RESULT_FIELDS>-/BIC/ZLOADTIME.
    elseif L_TIMESTAMP4 is initial.
       clear <RESULT_FIELDS>-/BIC/ZLOADTIME.
    else.
       CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
         EXPORTING
           timestamp1       =  L_TIMESTAMP3
           timestamp2       =  L_TIMESTAMP4
         IMPORTING
           DIFFERENCE        = <RESULT_FIELDS>-/BIC/ZLOADTIME
    ENDIF.
    Caliculate the Manifest Variance
       clear : L_TIMESTAMP5,L_TIMESTAMP6,L_TIMESTAMP7,L_TIMESTAMP8.
       CONVERT DATE <RESULT_FIELDS>-/BIC/ZMNEDDT TIME
                    <RESULT_FIELDS>-/BIC/ZMNEDTM
               INTO TIME STAMP L_TIMESTAMP7 TIME ZONE l_TS.
       CONVERT DATE <RESULT_FIELDS>-/BIC/ZLDEDDT TIME
                    <RESULT_FIELDS>-/BIC/ZLDEDTM
               INTO TIME STAMP L_TIMESTAMP8 TIME ZONE l_TS.
      L_TIMESTAMP5 = L_TIMESTAMP7.
      L_TIMESTAMP6 = L_TIMESTAMP8.
    Caliculate the Maniefest Variance
    IF L_TIMESTAMP5 is initial.
       clear <RESULT_FIELDS>-/BIC/ZMANVAR.
    elseif L_TIMESTAMP6 is initial.
       clear <RESULT_FIELDS>-/BIC/ZMANVAR.
    else.
       CALL FUNCTION 'CCU_TIMESTAMP_DIFFERENCE'
         EXPORTING
           timestamp1       =  L_TIMESTAMP5
           timestamp2       =  L_TIMESTAMP6
         IMPORTING
           DIFFERENCE        = <RESULT_FIELDS>-/BIC/ZMANVAR
       IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
    ENDIF.
    Delete datapackets with blank nominations
    Delete datapackets with blank shipdate and Invalid Time Stamps
    *IF <RESULT_FIELDS>-/BIC/ZNOMTK IS INITIAL OR
      <RESULT_FIELDS>-/BIC/ZSHIPDATE IS INITIAL.
    l_error_flag = 'X'.
    *ENDIF.
    <RESULT_FIELDS>-/BIC/ZVEHI_NO = 1.
      <RESULT_FIELDS>-CALMONTH = <RESULT_FIELDS>-/BIC/ZSHIPDATE(6).
      <RESULT_FIELDS>-CALYEAR  = <RESULT_FIELDS>-/BIC/ZSHIPDATE(4).
    if l_error_flag = 'X'.
    Looks like Monitor Entries are not working in SP11.
    Hence the following is commented temporarily.
    CLEAR MONITOR_REC.
    MONITOR_REC-MSGID = '0M'.
    MONITOR_REC-MSGTY = 'S'.
    MONITOR_REC-MSGNO = '501'.
    MONITOR_REC-MSGV1 = <RESULT_FIELDS>-/BIC/ZNOMTK.
    MONITOR_REC-recno = sy-tabix.
    APPEND MONITOR_REC to MONITOR.
    RAISE exception type CX_RSROUT_ABORT.
    DELETE RESULT_PACKAGE index sy-tabix.
    CLEAR L_ERROR_FLAG.
    else.
       MODIFY RESULT_PACKAGE FROM <RESULT_FIELDS>.
    endif.
    clear l_nomit.
    l_nomit = <RESULT_FIELDS>-/BIC/ZNOMIT.
    extra_fields = <RESULT_FIELDS>.
    Actual Qty and Contract details
       Select /BIC/ZLOCSL /BIC/ZNOMIT /BIC/ZCONTRACT /BIC/ZACTULQTY
              /BIC/ZSITYP /BIC/ZDOCIND
              SOLD_TO SHIP_TO COMPANY
               into (extra_fields-/BIC/ZLOCSL,
                     extra_fields-/BIC/ZNOMIT,
                     extra_fields-/BIC/ZCONTRACT,
                     extra_fields-/BIC/ZACTULQTY,
                     extra_fields-/BIC/ZSITYP,
                     extra_fields-/BIC/ZDOCIND,
                     extra_fields-SOLD_TO,
                     extra_fields-SHIP_TO,
                     extra_fields-company)
               from  /BIC/AZTSW_0000
               where /BIC/ZNOMTK = <RESULT_FIELDS>-/BIC/ZNOMTK AND
                     /BIC/ZNOMIT <> l_NOMIT.
           INSERT extra_fields into table EXTRA_PACKAGE.
       endselect.
    ENDLOOP.
    Append lines of extra_package to RESULT_PACKAGE.
    *--  fill table "MONITOR" with values of structure "MONITOR_REC"
    *-   to make monitor entries
    ... "to cancel the update process
       raise exception type CX_RSROUT_ABORT.
    $$ end of routine - insert your code only before this line         -
      ENDMETHOD.                    "end_routine
          Method inverse_end_routine
          This subroutine needs to be implemented only for direct access
          (for better performance) and for the Report/Report Interface
          (drill through).
          The inverse routine should transform a projection and
          a selection for the target to a projection and a selection
          for the source, respectively.
          If the implementation remains empty all fields are filled and
          all values are selected.
      METHOD inverse_end_routine.
    $$ begin of inverse routine - insert your code only below this line-
    ... "insert your code here
    $$ end of inverse routine - insert your code only before this line -
      ENDMETHOD.                    "inverse_end_routine
    ENDCLASS.                    "routine IMPLEMENTATION

    Hi,
    Most probably you are appending some records in the data package or deleting from the data package through end routine or expert routine or start routine.
    I just solved it.....you will have to import the note 1180163.
    Then modify the code which you are using....and include the function module as mentioned in the note 1223532.
    You need to add the function module just before you append the records.This will work perfectly.
    Thanks
    Ajeet

  • Urgent: regarding sales invoice report

    hi,
    i am making a report in which i have to dislplay for sales invoice ,d format of dis report is:-
    sales order,date,customer,material,invoice no,invioce date,invoice qty,amount.
    i wat to know which tables to be used and if possible which fields should be taken,plzz help me out as it s erally urgent to me.
    s help will be definately rewarded.

    Tables to be considered: VBAK, VBAP, VBFA, VBRK, VBRP.
    And dont keep the message "help will be definately rewarded " in your threads as we know how good you are at judging the replies and how you do appreciate the replies from your earlier threads.
    This might be a bit harsh, but expect tips and advices here rather than the whole solutions to problems in SDN.
    Kind Regards
    Eswar

  • Urgent : Regarding Purchase Requsition Report

    Hi,
    I am making  a report on Purchase Requisition in which i have to display that these are the persons who have released this requisition (i.e. If General Manager has  released that should be displayed,if Director had  released it should be displayed and if Managing Director had released it should display it and also the dates on which they released..)
    In my report i am not allowed to displayed that these are released by MMCONS OR SDCONS BUT it should display General Manager,Director  or Managing Director.. at these particular dates...
    If anybody help me out in this report he or she will be definately rewarded with points as it is most urgent to me ,,so plz reply as fast as possible.
    Regards,
    Ric.s
    Message was edited by:
            ric .s

    Hai ric,
              i have done a pr tracking report. it will show the persons name, plant, and department, etc .i have added that program here. if u dnt mine u can take
    with regards,
    safiq
    TYPE-POOLS slis.
    TABLES: t024, ekko, lfa1, ekpo, ekkn, cdhdr, cdpos, t16fs,
    eban, eket, ekbe, t024d.
    DATA: repid LIKE sy-repid.
    DATA: releasedat LIKE cdhdr-udate.
    CONSTANTS: c_to(4) TYPE c VALUE ' to ',
               c_vgabe_1 TYPE c VALUE '1',
               c_vgabe_2 TYPE c VALUE '2',
               c_object_banf LIKE cdpos-objectclas VALUE 'BANF',
               c_fname_frgzu LIKE cdpos-fname VALUE 'FRGZU',
               c_tcode like cdhdr-tcode value 'ME54',
    c_tcode1 like cdhdr-tcode value 'ME55',
             A1=add one more constant and value for ME55.
               c_tcode2 like cdhdr-tcode value 'ME28',
    CN 2 >> Addition
    CN 2 Start
               c_tcode3 like cdhdr-tcode value 'ME54N',
               c_tcode4 like cdhdr-tcode value 'ME29N',
    CN 2 End
               c_object_eink LIKE cdpos-objectclas VALUE 'EINKBELEG',
               c_fname_frgke LIKE cdpos-fname VALUE 'FRGKE'.
    DATA: list_layout TYPE slis_layout_alv,            "Layout
          ist_fieldcat TYPE STANDARD TABLE OF          "Field Catalog
              slis_fieldcat_alv,
          tmp_fieldcat TYPE slis_fieldcat_alv,         "Temp. Field Cat.
          gt_xevents TYPE slis_t_event,                "Events Table
          xs_event  TYPE slis_alv_event.               "Event Line
    RANGES: tcode for cdhdr-tcode.
    A1=Add range to store ME54 & ME55
    *&      To store Summary report information - added 30/5
    data: begin of i_summary occurs 100,
            PlantName1 LIKE T001W-Name1,              "Plant Name
            plant1 LIKE ekpo-werks,              "Plant
          Dept LIKE t024d-dsnam,               "MRP Contrl Code
          PRafIR type i,
          PRbfIR type i,
          Grandtotal type i,
          PerPRafIR type p decimals 2,
          PerPRbfIR type p decimals 2,
    end of i_summary.
    STRUCTURES
    DATA: BEGIN OF t_ekko OCCURS 0.
            INCLUDE STRUCTURE ekko.
    DATA: END OF t_ekko.
    DATA: BEGIN OF st_itab,
             pur_grp(22) TYPE c,
           vendor_name LIKE lfa1-name1,
           po_num LIKE ekko-ebeln,
           item_num LIKE ekpo-ebelp,
           mat_num LIKE ekpo-matnr,
           description LIKE ekpo-txz01,
           qty_order LIKE ekpo-menge,
           unit_price LIKE ekpo-netpr,
           total_price LIKE ekpo-netwr,
           plant LIKE ekpo-werks,
           cost_center LIKE ekkn-kostl,
           internal_order LIKE ekkn-aufnr,
           gl_code LIKE ekkn-sakto,
           dept LIKE t024d-dsnam,
           po_release_dat LIKE cdhdr-udate,
           delivery_dat LIKE eket-eindt,
    *       gr_dat like ekbe-budat,        "MICH01- 24/04/03
           gr_dat LIKE ekbe-bldat,        "MICH01+ 24/04/03
           on_time_delivery TYPE c,
           gr_qty LIKE ekbe-menge,
           gr_doc_num LIKE ekbe-belnr,
           ir_posting_date LIKE ekbe-budat,    "??? change to budat
           ir_doc_num LIKE ekbe-belnr,
    END OF st_itab.
    DATA: BEGIN OF st_itab1,
            aedat LIKE ekko-aedat,   "PO creation date
            lifnr LIKE ekko-lifnr,
            ebeln LIKE ekko-ebeln,  "PO number
            ekgrp LIKE ekko-ekgrp,
            matnr LIKE ekpo-matnr,
            banfn LIKE ekpo-banfn,  "PR number
            werks LIKE ekpo-werks,  "PO item number
            ebelp LIKE ekpo-ebelp,
            bnfpo like eban-bnfpo,  "PR item number
            txz01 LIKE ekpo-txz01,
            menge LIKE ekpo-menge,
            netpr LIKE ekpo-netpr,
            netwr LIKE ekpo-netwr,
            kostl LIKE ekkn-kostl,
            aufnr LIKE ekkn-aufnr,
            sakto LIKE ekkn-sakto,
            prctr LIKE ekkn-prctr,
            anln1 LIKE ekkn-anln1,
            pstyp LIKE eban-pstyp,
            badat LIKE eban-badat,
            afnam LIKE eban-afnam,
            dispo LIKE eban-dispo,
           vgabe LIKE ekbe-vgabe,
           belnr LIKE ekbe-belnr,
           bldat LIKE ekbe-bldat,  "GR Creation date
           budat LIKE ekbe-budat,  "IR Creation date
           gr_qty LIKE ekbe-menge,
            eindt LIKE eket-eindt,
           udate LIKE cdhdr-udate,
           beln1 LIKE ekbe-belnr,     "IR Doc. No.
            dsnam LIKE t024d-dsnam,    "MRP Controller Desc
            pur_grp LIKE t024-eknam,   "Desc. of Purchasing Gp
            name1 LIKE lfa1-name1,     "Vendor Code
            on_time_delivery TYPE c,   "On-time-delivery
            flag type c,               "Flag
    Added by @, 21.05.2007 >>
            PRAFIR TYPE i,
            PRBFIR TYPE i,
            TOTPR  TYPE i,
    Added by @, 21.05.2007 <<
          END OF st_itab1.
    GR History Movements
    DATA: BEGIN OF st_history,
            bldat LIKE ekbe-bldat,
            menge LIKE ekbe-menge,
            belnr LIKE ekbe-belnr,
          END OF st_history.
    PO Release Data
    DATA: BEGIN OF st_change,
            changenr LIKE cdpos-changenr,
            value_new LIKE cdpos-value_new,
          END OF st_change.
    data: begin of st_change1,
            udate like cdhdr-udate,
          end of st_change1.
    INTERNAL TABLES
    DATA: itab LIKE TABLE OF st_itab,
          ist_history LIKE TABLE OF st_history,
          wa_history LIKE st_history,
          ist_change LIKE TABLE OF st_change,
          wa_change LIKE st_change,
          ist_change1 like table of st_change1,
          wa_change1 like st_change1.
    data: begin of ist_itab occurs 0.
            include structure st_itab1.
    DATA : vgabe LIKE ekbe-vgabe,
          belnr LIKE ekbe-belnr,
          bldat LIKE ekbe-bldat,  "GR Creation date
          budat LIKE ekbe-budat,  "IR Creation date
          beln1 LIKE ekbe-belnr,     "IR Doc. No.
          gr_qty like ekbe-menge,    "GR Qty
          gr_unres LIKE ekbe-menge,  "GR to unrestricted
          gr_inspec_stk like ekbe-menge,  "GR to inspection stock
          gr_blk_stk like ekbe-menge,  "GR to blocked stock
          gr_rejected_stk like ekbe-menge,  "GR to rejected stock
          relcode1 like t16fs-FRGC1,  "Release code 1
          reldate1 like cdhdr-udate,  "Release date 1
          relcode2 like t16fs-FRGC1,  "Release code 2
          reldate2 like cdhdr-udate,  "Release date 2
          relcode3 like t16fs-FRGC1,  "Release code 3
          reldate3 like cdhdr-udate,  "Release date 3
          relcode4 like t16fs-FRGC1,  "Release code 4
          reldate4 like cdhdr-udate,  "Release date 4
          relcode5 like t16fs-FRGC1,  "Release code 5
          reldate5 like cdhdr-udate,  "Release date 5
          po_rel_date like cdhdr-udate.  "PO release date
    data: end of ist_itab.
    data: wa_itab LIKE ist_itab.
    Added on 21.05.2007 >>
    data: s_po Type C.
    data: s_pr Type C.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK screen1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:
      so_aedat FOR ekko-aedat no-display,      "Purchase Order Creation Date
      so_udate FOR cdhdr-udate no-display,     "PO Release Date
      so_eindt FOR eket-eindt no-display,      "Delivery Date
      so_ekgrp FOR t024-ekgrp no-display,      "Purchasing Group
      so_lifnr FOR ekko-lifnr no-display,      "Vendor Code
      so_ebeln FOR ekko-ebeln no-display,      "PO Number
      so_matnr FOR ekpo-matnr no-display,      "Material No.
      so_banfn FOR ekpo-banfn no-display,      "PR No.
      so_dispo for eban-dispo no-display,      "MRP controller
      so_pstyp FOR ekpo-pstyp no-display,      "Item Category
      so_badat FOR eban-badat OBLIGATORY,                "PR Creation Date
      so_afnam FOR eban-afnam no-display,      "PR Requester Name
      so_werks FOR ekpo-werks OBLIGATORY,      "Plant
      so_kostl FOR ekkn-kostl no-display,      "Cost Center
      so_aufnr FOR ekkn-aufnr no-display,      "Internal Order
      so_sakto FOR ekkn-sakto no-display,      "G/L Account
      so_prctr FOR ekkn-prctr no-display,      "Profit Center
      so_anln1 FOR ekkn-anln1 no-display,      "Asset Number
      so_belnr FOR ekbe-belnr no-display,      "GR Doc. No.
      so_bldat FOR ekbe-bldat no-display,      "GR Creation Date
      so_budat FOR ekbe-budat no-display,      "IR Posting Date
      so_beln1 FOR ekbe-belnr no-display,      "IR Doc. No
      so_frgkz for eban-frgkz no-display.  "Release status of PR
    SELECTION-SCREEN SKIP 1.
    PARAMETERS:
      p_pr_rel(1) TYPE C no-display,          "PR Release Indicator
      p_on_del(1) TYPE C no-display.          "On-time-delivery
    SELECTION-SCREEN END OF BLOCK screen1.
    Selection Screen - add 30/5
    selection-screen begin of block screen2 with frame title text-002.
    selection-screen begin of line.
    parameters: r_sum radiobutton group grp1.
    selection-screen comment 2(20) text-003 for field r_sum.
    selection-screen end of line.
    selection-screen begin of line.
    parameters: r_det radiobutton group grp1 default 'X'.
    selection-screen comment  2(20) text-004 for field r_det.
    selection-screen end of line.
    selection-screen end of block screen2.
          MAIN                                                          *
    *s_pr = 'X'.
    Added on 21.05.2007 <<
    *repid = sy-repid.
    Assign release indicator
    *if p_pr_rel = 'Y'.
    so_frgkz-low = '2'.
    so_frgkz-option = 'EQ'.
    so_frgkz-sign = 'I'.
    append so_frgkz.
    clear so_frgkz.
    *elseif p_pr_rel = 'N'.
    so_frgkz-low = 'X'.
    so_frgkz-option = 'EQ'.
    so_frgkz-sign = 'I'.
    append so_frgkz.
    clear so_frgkz.
    *endif.
    *tcode-low    = 'ME54'.
    *tcode-option = 'EQ'.
    *tcode-sign   = 'I'.
    *append tcode.
    CN 2 >> Addition
    CN 2 Start
    *tcode-low    = 'ME54N'.
    *tcode-option = 'EQ'.
    *tcode-sign   = 'I'.
    *append tcode.
    CN 2 End
    *tcode-low    = 'ME55'.
    *tcode-option = 'EQ'.
    *tcode-sign   = 'I'.
    *append tcode.
    *PERFORM:
    get_details,
    get_data,
    get_gr_ir_data,
    get_other_data,
    Setup events --> Top-of-page
    setup_events,
    Build up ALV field catalogue
    setfieldcat,
    Output the data
    output_alv_report TABLES ist_fieldcat.
    Perform print_data.
    top-of-page.
    perform print_heading.
    END-OF-PAGE.
    WRITE :/ SY-ULINE(126).
          FORM Assign_Values                                            *
    FORM assign_values.
    ENDFORM.
          FORM setFieldCat                                              *
    FORM setfieldcat.
      PERFORM:
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T024D'
                                           'DSNAM'
                                           'IST_ITAB'
                                           'DSNAM'
                                           'Dept'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'WERKS'
                                           'IST_ITAB'
                                           'WERKS'
                                           'Plant'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EBAN'
                                           'AFNAM'
                                           'IST_ITAB'
                                           'AFNAM'
                                           'PR Requestor Name'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'PRBFIR'
                                           'PRbfIR'
                                           '6'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'PRAFIR'
                                           'PRafIR'
                                           '6'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'TOTPR'
                                           'TotalPR'
                                           '7'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EBAN'
                                           'BADAT'
                                           'IST_ITAB'
                                           'BADAT'
                                           'PR Creation Date'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EBAN'
                                           'BANFN'
                                           'IST_ITAB'
                                           'BANFN'
                                           'PR No'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKO'
                                           'EBELN'
                                           'IST_ITAB'
                                           'EBELN'
                                           'PO Number'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKO'
                                           'EBELP'
                                           'IST_ITAB'
                                           'EBELP'
                                           'PO Item'
                                           'X'
          add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKO'
                                           'AEDAT'
                                           'IST_ITAB'
                                           'AEDAT'
                                           'PO Creation Date'
                                           'X'
          add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BLDAT'
                                           'IST_ITAB'
                                           'BLDAT'
                                           'GR Date'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BUDAT'
                                           'IST_ITAB'
                                           'BUDAT'
                                           'IR Document Date'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'TXZ01'
                                           'IST_ITAB'
                                           'TXZ01'
                                           'Description'
                                           'X'
           add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'MENGE'
                                           'IST_ITAB'
                                           'MENGE'
                                           'Qty Ordered'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'NETPR'
                                           'IST_ITAB'
                                           'NETPR'
                                           'Unit Price'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'NETWR'
                                           'IST_ITAB'
                                           'NETWR'
                                           'Total Price'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T024'
                                           'EKNAM'
                                           'IST_ITAB'
                                           'PUR_GRP'
                                           'PO PurGrp'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'LFA1'
                                           'NAME1'
                                           'IST_ITAB'
                                           'NAME1'
                                           'Vendor Name'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKPO'
                                           'MATNR'
                                           'IST_ITAB'
                                           'MATNR'
                                           'Material Number'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'KOSTL'
                                           'IST_ITAB'
                                           'KOSTL'
                                           'Cost Center'
                                           'X'
        add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'AUFNR'
                                           'IST_ITAB'
                                           'AUFNR'
                                           'Internal Order'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'SAKTO'
                                           'IST_ITAB'
                                           'SAKTO'
                                           'GL Code'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'ANLN1'
                                           'IST_ITAB'
                                           'ANLN1'
                                           'Asset'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKKN'
                                           'PRCTR'
                                           'IST_ITAB'
                                           'PRCTR'
                                           'Profit Centre'
                                           'X'
         add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC1'
                                           'IST_ITAB'
                                           'RELCODE1'
                                           'PR RelCode1'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE1'
                                           'PR RelDate1'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC2'
                                           'IST_ITAB'
                                           'RELCODE2'
                                           'PR RelCode2'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE2'
                                           'PR RelDate2'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC3'
                                           'IST_ITAB'
                                           'RELCODE3'
                                           'PR RelCode3'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE3'
                                           'PR RelDate3'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC4'
                                           'IST_ITAB'
                                           'RELCODE4'
                                           'PR RelCode4'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE4'
                                           'PR RelDate4'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'T16FS'
                                           'FRGC5'
                                           'IST_ITAB'
                                           'RELCODE5'
                                           'PR RelCode5'
                                           'X'
       add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'RELDATE5'
                                           'PR RelDate5'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'CDHDR'
                                           'UDATE'
                                           'IST_ITAB'
                                           'PO_REL_DATE'
                                           'PO Release Date'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKET'
                                           'EINDT'
                                           'IST_ITAB'
                                           'EINDT'
                                           'PO Dlv Date'
                                           'X'
    add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  ''
                                           'IST_ITAB'
                                           'ON_TIME_DELIVERY'
                                           'On Time Delivery'
                                           '16'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_QTY'
                                           'GR Qty'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BELNR'
                                           'IST_ITAB'
                                           'BELNR'
                                           'GR Doc Num'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_UNRES'
                                           'GR to Unrestricted'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_INSPEC_STK'
                                           'GR to Inspection Stock'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_BLK_STK'
                                           'GR to Blocked Stock'
                                           'X'
      add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'MENGE'
                                           'IST_ITAB'
                                           'GR_REJECTED_STK'
                                           'GR to Rejected Stock'
                                           'X'
    Added by @, 21.05.2007 >>
    add_field_to_fieldcat TABLES ist_fieldcat
                                   USING  'EKBE'
                                          'BELNR'
                                          'IST_ITAB'
                                          'BELN1'
                                          'IR Doc Num'
                                          'X'
    add_field_to_fieldcat TABLES ist_fieldcat
                                    USING  'EKBE'
                                           'BELNR'
                                           'IST_ITAB'
                                           'BELN1'
                                           'IR Doc Num'
                                           'X'
    Added by @, 21.05.2007 <<
    ENDFORM.
          FORM XEVENTS                                                  *
    FORM setup_events.
      CLEAR xs_event.
      xs_event-name = slis_ev_end_of_page.
      xs_event-form = 'XEND_OF_PAGE'.
      APPEND xs_event TO gt_xevents.
      CLEAR xs_event.
      xs_event-name = slis_ev_top_of_page.
      xs_event-form = 'XTOP_OF_PAGE'.
      APPEND xs_event TO gt_xevents.
      CLEAR xs_event.
      xs_event-name = slis_ev_top_of_list.
      xs_event-form = 'XTOP_OF_LIST'.
      APPEND xs_event TO gt_xevents.
      CLEAR xs_event.
      xs_event-name = slis_ev_end_of_list.
      xs_event-form = 'XEND_OF_LIST'.
      APPEND xs_event TO gt_xevents.
    ENDFORM.
          FORM XTOP_OF_PAGE                                             *
    FORM xtop_of_page.
      Write at 117 sy-pagno right-justified.
      WRITE: / 'PR Tracking Report (against Invoice Date)'.
      WRITE:/(42) sy-uline.
    PO Creation Date
      IF NOT so_aedat-low IS INITIAL AND
             so_aedat-high IS INITIAL.
        WRITE:/ 'PO Creation Date:', so_aedat-low.
      ELSEIF NOT so_aedat-low IS INITIAL AND
             NOT so_aedat-high IS INITIAL.
        WRITE:/ 'PO Creation Date:', so_aedat-low,  c_to, so_aedat-high.
      ENDIF.
    PR Creation Date
      IF NOT so_badat-low IS INITIAL AND
             so_badat-high IS INITIAL.
        WRITE:/ 'PR Creation Date: ', so_badat-low.
      ELSEIF NOT so_badat-low IS INITIAL AND
             NOT so_badat-high IS INITIAL.
        WRITE:/ 'PR Creation Date: ', so_badat-low , c_to, so_badat-high.
      ENDIF.
    Plant
      IF NOT so_werks-low IS INITIAL AND
             so_werks-high IS INITIAL.
        WRITE:/ 'Plant: ', so_werks-low.
      ELSEIF NOT so_werks-low IS INITIAL AND
             NOT so_werks-high IS INITIAL.
        WRITE:/ 'Plant: ', so_werks-low , c_to, so_werks-high.
      ENDIF.
    Delivery Date
      IF NOT so_eindt-low IS INITIAL AND
             so_eindt-high IS INITIAL.
        WRITE:/ 'Delivery Date: ', so_eindt-low.
      ELSEIF NOT so_eindt-low IS INITIAL AND
             NOT so_eindt-high IS INITIAL.
        WRITE:/ 'Delivery Date: ', so_eindt-low , c_to, so_eindt-high.
      ENDIF.
    Purchasing Group
      IF NOT so_ekgrp-low IS INITIAL AND
             so_ekgrp-high IS INITIAL.
        WRITE:/ 'Purchasing Group: ', so_ekgrp-low.
      ELSEIF NOT so_ekgrp-low IS INITIAL AND
             NOT so_ekgrp-high IS INITIAL.
        WRITE:/ 'Purchasing Group: ', so_ekgrp-low , c_to, so_ekgrp-high.
      ENDIF.
    Vendor Code
      IF NOT so_lifnr-low IS INITIAL AND
             so_lifnr-high IS INITIAL.
        WRITE:/ 'Vendor Code: ', so_lifnr-low.
      ELSEIF NOT so_lifnr-low IS INITIAL AND
             NOT so_lifnr-high IS INITIAL.
        WRITE:/ 'Vendor Code: ', so_lifnr-low , c_to, so_lifnr-high.
      ENDIF.
    PO Number
      IF NOT so_ebeln-low IS INITIAL AND
             so_ebeln-high IS INITIAL.
        WRITE:/ 'PO Number: ', so_ebeln-low.
      ELSEIF NOT so_ebeln-low IS INITIAL AND
             NOT so_ebeln-high IS INITIAL.
        WRITE:/ 'PO Number: ', so_ebeln-low , c_to, so_ebeln-high.
      ENDIF.
    Material No
      IF NOT so_matnr-low IS INITIAL AND
             so_matnr-high IS INITIAL.
        WRITE:/ 'PO Number: ', so_matnr-low.
      ELSEIF NOT so_matnr-low IS INITIAL AND
             NOT so_matnr-high IS INI

  • URGENT: REGARDING POSTING DATE AND DELETION OF ZEROS IN ALV REPORT

    Hi,
      I had made a report in which i have to display 'POSTING DATE' (iseg-budat) when we execute the report i.e. it should be displayed as  PERIOD :- _______  to _______ .
    2nd problem is i had displayed the material no. ,but there are zeros which are displaying in dere ,i want to remove dem ... example, if the mat.no. is  2321 ,it is displaying 000002321. i want to remove these zeros.
    Its request to all of u dat plz help me as fast as possible as it is most urgent to me and if any body provide me help he or sh e will be definately rewarded..
    Regards,
    ric.s

    Here i am giving you one of the ALV reports i have generated. Check this program. I hope it will be helpful to you.
    REPORT  ZFI_ASSIGNED_FUNDS_FINAL.
    TABLES: FMIT,FMCIT,FPOS,IFMEISA1,FMFCTRT,BSEG,ZREV_BUDGET.
    TYPE-POOLS: SLIS.
    *ALV data declarations
    DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          GD_SORT      TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
          GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,
          GD_REPID     LIKE SY-REPID.
    *For ALV top of page
    DATA : IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    *For ALV Events
    DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
    *For ALV Events
    DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
    *For top of page heading
    DATA: IT_LINE TYPE SLIS_LISTHEADER.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETER : RADIO RADIOBUTTON GROUP R1.
    IF RADIO EQ 'X'.
      SELECT-OPTIONS: FIPEX  FOR FPOS-FIPEX,                  " SELECTION FOR FUNDS CENTER & COMMITMENT ITEM
                      RFISTL FOR FMIT-RFISTL.
    ENDIF.
    PARAMETER: RADIO1 RADIOBUTTON GROUP R1.
    IF RADIO1 EQ 'X'.
      SELECT-OPTIONS : HKONT FOR BSEG-HKONT,                 " SELECTION FOR COST CENTER & G/L ACCOUNT
                       KOSTL FOR ZREV_BUDGET-KOSTL.
    ENDIF.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: PERDE  FOR IFMEISA1-PERDE DEFAULT '01' TO '12' OBLIGATORY.
    PARAMETER :     RYEAR  LIKE FMIT-RYEAR OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B2.
    DATA: BEGIN OF IT_TAB OCCURS 0,
             FIKRS LIKE FMFCTR-FIKRS,
             FICTR LIKE CSKS-KOSTL,
             CTR_OBJNR LIKE FMFCTR-CTR_OBJNR,
             RFISTL LIKE FMIT-RFISTL,
             OBJNR LIKE BPPE-OBJNR,
          END OF IT_TAB.
    DATA: BEGIN OF IT_TAB1 OCCURS 0,
             CO_OBJNR LIKE BPIJ-CO_OBJNR,
             POSIT LIKE BPPE-POSIT,
             FIPEX LIKE FMPOSIT-FIPEX,
             FICTR LIKE FMFCTR-FICTR,
             KSTAR LIKE COSP-KSTAR,
             RFISTL LIKE FMIT-RFISTL,
             OBJNR1 LIKE BPPE-OBJNR,
          END OF IT_TAB1.
    DATA: BEGIN OF IT_FMIT OCCURS 0,
            RYEAR LIKE FMIT-RYEAR,
            FIKRS LIKE FMIT-FIKRS,
            RFISTL LIKE ZREV_BUDGET-KOSTL,
            RFIPEX LIKE ZREV_BUDGET-KSTAR,
            HSL01 LIKE FMIT-HSL01,
            HSL02 LIKE FMIT-HSL02,
            HSL03 LIKE FMIT-HSL03,
            HSL04 LIKE FMIT-HSL04,
            HSL05 LIKE FMIT-HSL05,
            HSL06 LIKE FMIT-HSL06,
            HSL07 LIKE FMIT-HSL07,
            HSL08 LIKE FMIT-HSL08,
            HSL09 LIKE FMIT-HSL09,
            HSL10 LIKE FMIT-HSL10,
            HSL11 LIKE FMIT-HSL11,
            HSL12 LIKE FMIT-HSL12,
            HSL13 LIKE FMIT-HSL13,
            HSL14 LIKE FMIT-HSL14,
            HSL15 LIKE FMIT-HSL15,
            HSL16 LIKE FMIT-HSL16,
         END OF IT_FMIT.
    DATA: BEGIN OF IT_FMIT1 OCCURS 0,
            RYEAR LIKE FMIT-RYEAR,
            FIKRS LIKE FMIT-FIKRS,
            RFISTL LIKE ZREV_BUDGET-KOSTL,
            RFIPEX LIKE FMPG-FIPEX,
            TOTAL LIKE FMIT-TSL01,
            TOTAL1 LIKE FMIT-TSL01,
            OBJNR LIKE BPPE-OBJNR,
            POSIT LIKE BPPE-POSIT,
         END OF IT_FMIT1.
    DATA: BEGIN OF IT_BPPE OCCURS 0,
            OBJNR LIKE BPPE-OBJNR,
            POSIT LIKE BPPE-POSIT,
            GJAHR LIKE BPPE-GJAHR,
            WLP01 LIKE BPPE-WLP01,
            WLP02 LIKE BPPE-WLP02,
            WLP03 LIKE BPPE-WLP03,
            WLP04 LIKE BPPE-WLP04,
            WLP05 LIKE BPPE-WLP05,
            WLP06 LIKE BPPE-WLP06,
            WLP07 LIKE BPPE-WLP07,
            WLP08 LIKE BPPE-WLP08,
            WLP09 LIKE BPPE-WLP09,
            WLP10 LIKE BPPE-WLP10,
            WLP11 LIKE BPPE-WLP11,
            WLP12 LIKE BPPE-WLP12,
          END OF IT_BPPE.
    DATA: BEGIN OF IT_BPPE1 OCCURS 0,
            OBJNR LIKE BPPE-OBJNR,
            POSIT LIKE BPPE-POSIT,
            GJAHR LIKE BPPE-GJAHR,
            RFISTL LIKE FMIT-RFISTL,
            FIPEX LIKE FPOS-FIPEX,
            TOTAL2 LIKE BPPE-WLP01,
          END OF IT_BPPE1.
    DATA: BEGIN OF IT_CSKS OCCURS 0,
           KOKRS LIKE CSKS-KOKRS,
           KOSTL LIKE CSKS-KOSTL,
           BUKRS LIKE CSKS-BUKRS,
           OBJNR LIKE CSKS-OBJNR,
         END OF IT_CSKS.
    DATA: BEGIN OF IT_COSP OCCURS 0,
           OBJNR LIKE COSP-OBJNR,
           GJAHR LIKE COSP-GJAHR,
           KSTAR LIKE COSP-KSTAR,
           BEKNZ LIKE COSP-BEKNZ,
           WKG001 LIKE COSP-WKG001,
           WKG002 LIKE COSP-WKG002,
           WKG003 LIKE COSP-WKG003,
           WKG004 LIKE COSP-WKG004,
           WKG005 LIKE COSP-WKG005,
           WKG006 LIKE COSP-WKG006,
           WKG007 LIKE COSP-WKG007,
           WKG008 LIKE COSP-WKG008,
           WKG009 LIKE COSP-WKG009,
           WKG010 LIKE COSP-WKG010,
           WKG011 LIKE COSP-WKG011,
           WKG012 LIKE COSP-WKG012,
         END OF IT_COSP.
    DATA: BEGIN OF IT_COSP2 OCCURS 0,
           OBJNR LIKE COSP-OBJNR,
           GJAHR LIKE COSP-GJAHR,
           KSTAR LIKE COSP-KSTAR,
           FIPEX LIKE FMPG-FIPEX,
           TOTAL LIKE COSP-WKG001,
           TOTAL1 LIKE COSP-WKG001,
           OBJNR1 LIKE BPPE-OBJNR,
           POSIT LIKE BPPE-POSIT,
         END OF IT_COSP2.
    IF RADIO EQ 'X'.
      DATA: BEGIN OF IT_FINAL OCCURS 0,
             FIKRS LIKE FMIT-FIKRS,
             RFISTL LIKE FMIT-RFISTL,
             RFIPEX LIKE FMIT-RFIPEX,
             TEXT LIKE FMCIT-TEXT1,
             ALLOC LIKE FMIT-TSL16,
             USED LIKE FMIT-TSL16,
             REMAIN LIKE FMIT-TSL16,
             BEZEICH LIKE FMFCTRT-BEZEICH,
           END OF IT_FINAL.
    ENDIF.
    IF RADIO1 EQ 'X'.
      DATA: BEGIN OF IT_FINAL1 OCCURS 0,
              GJAHR LIKE ZREV_BUDGET-GJAHR,
              KOSTL LIKE ZREV_BUDGET-KOSTL,
              KSTAR LIKE ZREV_BUDGET-KSTAR,
              TOTAL1 LIKE COSP-WKG001,
              TOTAL3 LIKE COSP-WKG001,
              TEXT LIKE CSKU-KTEXT,
              VARIANCE LIKE COSP-WKG001,
              BEZEICH LIKE FMFCTRT-BEZEICH,
            END OF IT_FINAL1.
    ENDIF.
    DATA: BEGIN OF IT_FISTL OCCURS 0,
           RFISTL LIKE FMIT-RFISTL,
           BEZEICH LIKE FMFCTRT-BEZEICH,
          END OF IT_FISTL.
    DATA: BEGIN OF IT_HKONT OCCURS 0,
           KSTAR LIKE CSKU-KSTAR,
           KTEXT LIKE CSKU-KTEXT,
          END OF IT_HKONT.
    DATA: PERIOD1 TYPE I,
          PERIOD2 TYPE I,
          PERIOD3 TYPE I,
          PERIO TYPE I.
    DATA: BEZEICH LIKE FMFCTRT-BEZEICH.
    CONSTANTS: C_00 TYPE MONAT VALUE '00',
               C_13 TYPE MONAT VALUE '13'.
    DATA : IT_RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
    DATA: FIPEX1 LIKE COSP-KSTAR.
    A T - S E L E C T I O N  S C R E E N
    AT SELECTION-SCREEN.
      LOOP AT PERDE.
        IF  PERDE-LOW >= C_13 OR PERDE-HIGH >= C_13 .
          MESSAGE E022(ZA)  WITH 'Enter Period values from 1 to 12'.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF NOT PERDE-LOW IS INITIAL.
        PERIOD1 = PERDE-LOW.
      ENDIF.
      IF NOT PERDE-HIGH IS INITIAL.
        PERIOD2 = PERDE-HIGH.
        PERIOD3 = PERIOD2 - PERIOD1.
        PERIOD3 = PERIOD3 + 1.
      ELSE.
        PERIOD3 = 1.
      ENDIF.
      PERIO = PERIOD1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-LOW.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS EQ 'NFFM'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'RFISTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO RFISTL-LOW.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-HIGH.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS EQ 'NFFM'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'RFISTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO RFISTL-HIGH.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-LOW.
      SELECT KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
      SORT IT_HKONT BY KSTAR.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'HKONT'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_HKONT
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO HKONT-LOW.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-HIGH.
      SELECT  KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
      SORT IT_HKONT BY KSTAR.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'HKONT'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_HKONT
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO HKONT-HIGH.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-LOW.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS IN KOSTL.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'KOSTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO KOSTL-LOW.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-HIGH.
      SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
                                               WHERE SPRAS EQ 'EN'
                                               AND   FIKRS IN KOSTL.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD   = 'KOSTL'
          VALUE_ORG  = 'S'
        TABLES
          VALUE_TAB  = IT_FISTL
          RETURN_TAB = IT_RETURN.
      IF SY-SUBRC = 0.
        READ TABLE IT_RETURN INDEX 1.
        MOVE IT_RETURN-FIELDVAL TO KOSTL-HIGH.
      ENDIF.
    *START-OF-SELECTION
    START-OF-SELECTION.
      IF RADIO EQ 'X'.                     " FOR FUNDS CENTER AND COMMITMENT ITEM
        PERFORM GET_DATA.
        PERFORM PROCESS_DATA.
      ENDIF.
      IF RADIO1 EQ 'X'.                    " FOR COST CENTER AND G/L ACCOUNT
        PERFORM GET_DATA1.
        PERFORM PROCESS_DATA1.
      ENDIF.
    *END OF SELECTION
      PERFORM BUILD_LAYOUT.
      PERFORM BUILD_EVENTS.
      IF RADIO EQ 'X'.
        PERFORM BUILD_FIELDCATALOG.
        PERFORM BUILD_SORT.
        PERFORM DISPLAY_ALV_REPORT.
      ENDIF.
      IF RADIO1 EQ 'X'.
        PERFORM BUILD_FIELDCATALOG1.
        PERFORM BUILD_SORT1.
        PERFORM DISPLAY_ALV_REPORT1.
      ENDIF.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA .
      SELECT FIKRS FICTR CTR_OBJNR INTO TABLE IT_TAB FROM FMFCTR
                                                     WHERE FIKRS EQ 'NFFM'
                                                     AND   FICTR IN RFISTL.
      SELECT CO_OBJNR POSIT INTO TABLE IT_TAB1 FROM BPIJ
                                               FOR ALL ENTRIES IN IT_TAB
                                               WHERE CO_OBJNR EQ IT_TAB-CTR_OBJNR.
      LOOP AT IT_TAB1.
        SELECT SINGLE FIPEX INTO IT_TAB1-FIPEX FROM FMPOSIT WHERE FIKRS EQ 'NFFM'
                                               AND   POSIT EQ IT_TAB1-POSIT
                                               AND   FIPEX IN FIPEX.
        IF SY-SUBRC EQ '0'.
          MODIFY IT_TAB1.
        ELSE.
          DELETE IT_TAB1.
        ENDIF.
      ENDLOOP.
      SELECT OBJNR
             POSIT
             GJAHR
             WLP01
             WLP02
             WLP03
             WLP04
             WLP05
             WLP06
             WLP07
             WLP08
             WLP09
             WLP10
             WLP11
             WLP12
             INTO TABLE IT_BPPE
             FROM BPPE
             FOR ALL ENTRIES IN IT_TAB1
             WHERE OBJNR EQ IT_TAB1-CO_OBJNR
             AND   POSIT EQ IT_TAB1-POSIT
             AND   GJAHR EQ RYEAR
             AND   VORGA IN ('KBFR','KBUE','KBUS').
      LOOP AT IT_BPPE.
        MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
        IT_BPPE1-RFISTL = IT_BPPE1-OBJNR+6(4).
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_BPPE1-RFISTL
          IMPORTING
            OUTPUT = IT_BPPE1-RFISTL.
        CALL FUNCTION 'FM_FIPEX_GET_FROM_POSIT'
          EXPORTING
            I_FIKRS = 'NFFM'
            I_POSIT = IT_BPPE1-POSIT
          IMPORTING
            E_FIPEX = IT_BPPE1-FIPEX.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_BPPE1-TOTAL2 =  IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
            WHEN 2.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
            WHEN 3.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
            WHEN 4.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
            WHEN 5.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
            WHEN 6.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
            WHEN 7.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
            WHEN 8.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
            WHEN 9.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
            WHEN 10.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
            WHEN 11.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
            WHEN 12.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        COLLECT IT_BPPE1.
        CLEAR PERIOD1.
        CLEAR IT_BPPE1.
      ENDLOOP.
      SELECT RYEAR
             FIKRS
             RFISTL
             RFIPEX
             HSL01
             HSL02
             HSL03
             HSL04
             HSL05
             HSL06
             HSL07
             HSL08
             HSL09
             HSL10
             HSL11
             HSL12
             HSL13
             HSL14
             HSL15
             HSL16
             INTO TABLE IT_FMIT FROM FMIT
             FOR ALL ENTRIES IN IT_BPPE1
             WHERE RYEAR EQ RYEAR
             AND   FIKRS EQ 'NFFM'
            AND   RFIPEX EQ IT_BPPE1-FIPEX
             AND  RFIPEX IN FIPEX
             AND   RFISTL EQ IT_BPPE1-RFISTL.
      LOOP AT IT_FMIT.
        MOVE-CORRESPONDING IT_FMIT TO IT_FMIT1.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_FMIT1-TOTAL =  IT_FMIT1-TOTAL + IT_FMIT-HSL01.
            WHEN 2.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL02.
            WHEN 3.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL03.
            WHEN 4.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL04.
            WHEN 5.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL05.
            WHEN 6.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL06.
            WHEN 7.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL07.
            WHEN 8.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL08.
            WHEN 9.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL09.
            WHEN 10.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL10.
            WHEN 11.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL11.
            WHEN 12.
              IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL12.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        IT_FMIT1-TOTAL1 = IT_FMIT1-TOTAL * -1 .
        COLLECT IT_FMIT1.
        CLEAR PERIOD1.
        CLEAR IT_FMIT1.
      ENDLOOP.
    ENDFORM.                    " GET_DATA
    *&      Form  PROCESS_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM PROCESS_DATA .
      SORT IT_FMIT1 BY FIKRS RFISTL RFIPEX.
      SORT IT_BPPE1 BY RFISTL FIPEX.
      LOOP AT IT_BPPE1.
        IT_FINAL-RFISTL = IT_BPPE1-RFISTL.
        IT_FINAL-RFIPEX = IT_BPPE1-FIPEX.
        IT_FINAL-ALLOC   = IT_BPPE1-TOTAL2.
        READ TABLE IT_FMIT1 WITH KEY RFISTL = IT_BPPE1-RFISTL  RFIPEX = IT_BPPE1-FIPEX.
        IF SY-SUBRC EQ 0.
          IT_FINAL-USED   = IT_FMIT1-TOTAL1.
        ENDIF.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FMIT1-RFIPEX
          IMPORTING
            OUTPUT = IT_FMIT1-RFIPEX.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FMIT1-RFISTL
          IMPORTING
            OUTPUT = IT_FMIT1-RFISTL.
    Changes made on 13/11/2007  *******************************
       SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                         AND   FIPEX EQ  IT_FMIT1-RFIPEX.
        SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                          AND   FIPEX EQ  IT_BPPE1-FIPEX.
    Changes made on 13/11/2007  *******************************
        SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                    WHERE SPRAS EQ 'EN'
                                                    AND   FICTR EQ IT_FMIT1-RFISTL.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FINAL-RFIPEX
          IMPORTING
            OUTPUT = IT_FINAL-RFIPEX.
        IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
        APPEND IT_FINAL.
        CLEAR IT_FINAL.
      ENDLOOP.
    SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
       LOOP AT IT_FMIT1.
        READ TABLE IT_FINAL WITH KEY RFISTL = IT_FMIT1-RFISTL RFIPEX = IT_FMIT1-RFIPEX.
        IF SY-SUBRC NE 0.
          IT_FINAL-RFISTL = IT_FMIT1-RFISTL.
          IT_FINAL-RFIPEX = IT_FMIT1-RFIPEX.
          IT_FINAL-USED   = IT_FMIT1-TOTAL1.
        IT_FINAL-ALLOC   = '0'.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              INPUT  = IT_FMIT1-RFIPEX
            IMPORTING
              OUTPUT = IT_FMIT1-RFIPEX.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              INPUT  = IT_FMIT1-RFISTL
            IMPORTING
              OUTPUT = IT_FMIT1-RFISTL.
          SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
                                                            AND   FIPEX EQ  IT_FMIT1-RFIPEX.
          SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
                                                      WHERE SPRAS EQ 'EN'
                                                      AND   FICTR EQ IT_FMIT1-RFISTL.
          IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
          APPEND IT_FINAL.
          CLEAR IT_FINAL.
        ELSE.
          DELETE IT_FMIT1.
        ENDIF.
      ENDLOOP.
      SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
    ENDFORM.                    " PROCESS_DATA
    *&      Form  GET_DATA1
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA1 .
      SELECT KOKRS KOSTL BUKRS OBJNR INTO TABLE IT_CSKS
                                     FROM CSKS
                                     WHERE KOKRS EQ '1000'
                                     AND   KOSTL IN KOSTL
                                     AND   BUKRS EQ 'NFCL'.
      SELECT OBJNR
             GJAHR
             KSTAR
             BEKNZ
             WKG001
             WKG002
             WKG003
             WKG004
             WKG005
             WKG006
             WKG007
             WKG008
             WKG009
             WKG010
             WKG011
             WKG012
             FROM COSP
             INTO TABLE IT_COSP
             FOR ALL ENTRIES IN IT_CSKS
             WHERE OBJNR EQ IT_CSKS-OBJNR
             AND   GJAHR EQ RYEAR
             AND   KSTAR IN HKONT.
      LOOP AT IT_COSP.
        MOVE-CORRESPONDING IT_COSP TO IT_COSP2.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_COSP2-TOTAL =  IT_COSP2-TOTAL + IT_COSP-WKG001.
            WHEN 2.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG002.
            WHEN 3.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG003.
            WHEN 4.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG004.
            WHEN 5.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG005.
            WHEN 6.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG006.
            WHEN 7.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG007.
            WHEN 8.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG008.
            WHEN 9.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG009.
            WHEN 10.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG010.
            WHEN 11.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG011.
            WHEN 12.
              IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG012.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        IT_COSP2-OBJNR1 = IT_COSP2-OBJNR+10(6).
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_COSP2-OBJNR1
          IMPORTING
            OUTPUT = IT_COSP2-OBJNR1.
        CONCATENATE 'FSNFFM' IT_COSP2-OBJNR1 INTO IT_COSP2-OBJNR1.
        IT_COSP2-FIPEX = IT_COSP2-KSTAR.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_COSP2-FIPEX
          IMPORTING
            OUTPUT = IT_COSP2-FIPEX.
        CALL FUNCTION 'FM_POSIT_GET_FROM_FIPEX'
          EXPORTING
          I_FIKRS                = 'NFFM'
          I_FIPEX                = IT_COSP2-FIPEX
      I_FLG_BUFFER_ALL       =
       IMPORTING
       E_POSIT                = IT_COSP2-POSIT
    TABLES
      T_FMPOSIT              =
        EXCEPTIONS
          INPUT_ERROR            = 1
          DATA_NOT_FOUND         = 2
          OTHERS                 = 3
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CONDENSE IT_COSP2-OBJNR1.
        CONDENSE IT_COSP2-POSIT.
        COLLECT IT_COSP2.
        CLEAR PERIOD1.
        CLEAR IT_COSP2.
      ENDLOOP.
      SORT IT_COSP2 BY OBJNR KSTAR.
      SELECT OBJNR
             POSIT
             GJAHR
             WLP01
             WLP02
             WLP03
             WLP04
             WLP05
             WLP06
             WLP07
             WLP08
             WLP09
             WLP10
             WLP11
             WLP12
             INTO TABLE IT_BPPE
             FROM BPPE
             FOR ALL ENTRIES IN IT_COSP2
             WHERE OBJNR EQ IT_COSP2-OBJNR1
             AND   POSIT EQ IT_COSP2-POSIT
             AND   GJAHR EQ RYEAR
             AND   VORGA IN ('KBFR','KBUE','KBUS').
      LOOP AT IT_BPPE.
        MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
        PERIOD1 = PERIO.
        DO PERIOD3 TIMES.
          CASE PERIOD1.
            WHEN 1.
              IT_BPPE1-TOTAL2 =  IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
            WHEN 2.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
            WHEN 3.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
            WHEN 4.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
            WHEN 5.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
            WHEN 6.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
            WHEN 7.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
            WHEN 8.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
            WHEN 9.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
            WHEN 10.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
            WHEN 11.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
            WHEN 12.
              IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
          ENDCASE.
          IF PERIOD2 >= PERIOD1.
            PERIOD1 = PERIOD1 + 1.
          ENDIF.
        ENDDO.
        COLLECT IT_BPPE1.
        CLEAR PERIOD1.
        CLEAR IT_BPPE1.
      ENDLOOP.
    ENDFORM.                                                    " GET_DATA1
    *&      Form  PROCESS_DATA1
          text
    -->  p1        text
    <--  p2        text
    FORM PROCESS_DATA1 .
      LOOP AT IT_COSP2.
        IT_FINAL1-GJAHR = IT_COSP2-GJAHR.
        IT_FINAL1-KSTAR = IT_COSP2-KSTAR.
        IT_FINAL1-TOTAL1 = IT_COSP2-TOTAL.
        SELECT SINGLE KOSTL FROM CSKS INTO IT_FINAL1-KOSTL WHERE KOKRS = '1000'
                                                            AND BUKRS EQ 'NFCL'
                                                            AND OBJNR = IT_COSP2-OBJNR.
        READ TABLE IT_BPPE1 WITH KEY OBJNR = IT_COSP2-OBJNR1 POSIT = IT_COSP2-POSIT.
        IF SY-SUBRC EQ 0.
          IT_FINAL1-TOTAL3 = IT_BPPE1-TOTAL2.
        ENDIF.
        SELECT SINGLE KTEXT INTO IT_FINAL1-TEXT FROM CSKU WHERE SPRAS EQ 'EN'
                                                          AND  KSTAR EQ  IT_COSP2-KSTAR.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FINAL1-KOSTL
          IMPORTING
            OUTPUT = IT_FINAL1-KOSTL.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            INPUT  = IT_FINAL1-KSTAR
          IMPORTING
            OUTPUT = IT_FINAL1-KSTAR.
        SELECT SINGLE BEZEICH INTO IT_FINAL1-BEZEICH FROM FMFCTRT
                                                    WHERE SPRAS EQ 'EN'
                                                    AND   FICTR EQ IT_FINAL1-KOSTL.
        IT_FINAL1-VARIANCE = IT_FINAL1-TOTAL3 - IT_FINAL1-TOTAL1.
        APPEND IT_FINAL1.
        CLEAR IT_FINAL1.
      ENDLOOP.
      SORT IT_FINAL1 BY KOSTL KSTAR.
      DELETE IT_FINAL1 WHERE KOSTL IS INITIAL.
    ENDFORM.                    " PROCESS_DATA1
    *&      Form  BUILD_FIELDCATALOG
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELDCATALOG .
      FIELDCATALOG-FIELDNAME   = 'RFISTL'.
      FIELDCATALOG-SELTEXT_M   = 'Funds Center'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'BEZEICH'.
      FIELDCATALOG-SELTEXT_M   = 'Fund Center Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'RFIPEX'.
      FIELDCATALOG-SELTEXT_M   = 'Commitment Item'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TEXT'.
      FIELDCATALOG-SELTEXT_M   = 'Commitment Item Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'ALLOC'.
      FIELDCATALOG-SELTEXT_M   = 'Allocated Budget'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'USED'.
      FIELDCATALOG-SELTEXT_M   = 'Used Budget'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'REMAIN'.
      FIELDCATALOG-SELTEXT_M   = 'Remaining Budget'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_FIELDCATALOG1
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELDCATALOG1 .
      FIELDCATALOG-FIELDNAME   = 'KOSTL'.
      FIELDCATALOG-SELTEXT_M   = 'Cost Center'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'BEZEICH'.
      FIELDCATALOG-SELTEXT_M   = 'Cost Center Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'KSTAR'.
      FIELDCATALOG-SELTEXT_M   = 'G/L Account'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TEXT'.
      FIELDCATALOG-SELTEXT_M   = 'G/L Account Description'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TOTAL3'.
      FIELDCATALOG-SELTEXT_M   = 'Planned amount'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'TOTAL1'.
      FIELDCATALOG-SELTEXT_M   = 'Actuals'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
      FIELDCATALOG-FIELDNAME   = 'VARIANCE'.
      FIELDCATALOG-SELTEXT_M   = 'Variance'.
      FIELDCATALOG-DO_SUM      = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR  FIELDCATALOG.
    ENDFORM.                    " BUILD_FIELDCATALOG1
    *&      Form  BUILD_LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_LAYOUT .
      GD_LAYOUT-NO_INPUT          = 'X'.
      GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    ENDFORM.                    " BUILD_LAYOUT
    *&      Form  BUILD_SORT
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_SORT .
      DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'RFISTL'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      GT_SORT-SUBTOT  = 'X'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'BEZEICH'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
    ENDFORM.                    " BUILD_SORT
    *&      Form  BUILD_SORT1
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_SORT1 .
      DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'KOSTL'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      GT_SORT-SUBTOT  = 'X'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
      GT_SORT-UP = 'X'.
      GT_SORT-FIELDNAME = 'BEZEICH'.
      GT_SORT-TABNAME  = 'IT_FINAL'.
      APPEND GT_SORT TO GD_SORT.
      CLEAR GT_SORT.
    ENDFORM.                    " BUILD_SORT1
    *&      Form  BUILD_EVENTS
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_EVENTS .
      IT_EVENT-NAME = 'TOP_OF_PAGE'.
      IT_EVENT-FORM = 'TOP_OF_PAGE'.
      APPEND IT_EVENT TO IT_EVENT1.
    CLEAR IT_EVENT.
    ENDFORM.                    " BUILD_EVENTS
    *&      Form TOP_OF_PAGE
          ALV TOP-OF-PAGE
    FORM TOP_OF_PAGE.                                           "#EC CALLED
      REFRESH : IT_LIST_TOP_OF_PAGE.
      CLEAR : IT_LINE.
      IT_LINE-TYP  = 'H'.
      IT_LINE-INFO = TEXT-001.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CLEAR IT_LINE.
      IF RADIO EQ 'X'.
        IT_LINE-TYP  = 'S'.
        IT_LINE-INFO  = TEXT-101.
        IF NOT FIPEX-LOW IS INITIAL.
          CONCATENATE TEXT-101 '-' FIPEX-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT FIPEX-HIGH IS INITIAL.
            CONCATENATE TEXT-101 '-' FIPEX-LOW 'to' FIPEX-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
        CLEAR IT_LINE-INFO.
        IT_LINE-INFO = TEXT-102.
        IF NOT RFISTL-LOW IS INITIAL.
          CONCATENATE TEXT-102 '-' RFISTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT RFISTL-HIGH IS INITIAL.
            CONCATENATE TEXT-102 '-' RFISTL-LOW 'to' RFISTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      ENDIF.
      IF RADIO1 EQ 'X'.
        CLEAR IT_LINE-INFO.
        IT_LINE-INFO = TEXT-105.
        IF NOT KOSTL-LOW IS INITIAL.
          CONCATENATE TEXT-105 '-' KOSTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT KOSTL-HIGH IS INITIAL.
            CONCATENATE TEXT-105 '-' KOSTL-LOW 'to' KOSTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
        CLEAR IT_LINE-INFO.
        IT_LINE-INFO = TEXT-106.
        IF NOT HKONT-LOW IS INITIAL.
          CONCATENATE TEXT-106 '-' HKONT-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
          IF NOT HKONT-HIGH IS INITIAL.
            CONCATENATE TEXT-106 '-' HKONT-LOW 'to' HKONT-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
          ENDIF.
        ENDIF.
        APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      ENDIF.
      CLEAR IT_LINE-INFO.
      IT_LINE-INFO = TEXT-103.
      IF NOT PERDE-LOW IS INITIAL.
        CONCATENATE TEXT-103 '-' PERDE-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
        IF NOT PERDE-HIGH IS INITIAL.
          CONCATENATE TEXT-103 '-' PERDE-LOW 'to' PERDE-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
        ENDIF.
      ENDIF.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CLEAR IT_LINE-INFO.
      IT_LINE-INFO = TEXT-104.
      IF NOT RYEAR IS INITIAL.
        CONCATENATE TEXT-104 '-' RYEAR INTO IT_LINE-INFO SEPARATED BY SPACE.
      ENDIF.
      APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.
    ENDFORM.                               "TOP_OF_PAGE
    *&      Form  DISPLAY_ALV_REPORT
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_ALV_REPORT .
      GD_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = GD_REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
          IS_LAYOUT              = GD_LAYOUT
          IT_EVENTS              = IT_EVENT1[]
          IT_FIELDCAT            = FIELDCATALOG[]
          IT_SORT                = GD_SORT[]
        TABLES
          T_OUTTAB               = IT_FINAL
        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_REPORT
    *&      Form  DISPLAY_ALV_REPORT1
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_ALV_REPORT1 .
      GD_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = GD_REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
          IS_LAYOUT              = GD_LAYOUT
          IT_EVENTS              = IT_EVENT1[]
          IT_FIELDCAT            = FIELDCATALOG[]
          IT_SORT                = GD_SORT[]
        TABLES
          T_OUTTAB               = IT_FINAL1
        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-MSG

  • Urgent: regarding ALV  report display problem

    hi,
    There are 3 problems:-
    1.) I had made a ALV report in which i have to display 'POSTING DATE' (iseg-budat) when we execute the report i.e. it should be displayed as  PERIOD :- _______  to _______ on alv report ..
    2.)the 2nd problem is dat when i use the '  wa_fieldcat-no_zero = 'X'.  It eliminates all the leading zeros which are present which is okay when i it displays material no.. but the problem is dat it also deletes the other fields where the values are to be zeros.
    i had used this FM:-
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
       INPUT = ITS1-MATNR
       IMPORTING
       OUTPUT = ITS1-MATNR.
    so that only matnr field are to be 0's.
    3.) I want to delete the rows which use to contain the values 0's as there are no calculations are performing as these are displayed .
    ANYbody having solution of this problem ,plzzzz provide the soluion of it as it is most urgent to me and dat person will definately rewarded.
    regards,
    ric.s

    hi kiran,
    thanks for ur response. here is d code which i am using it and plzz help me to figure out where i have to make changes:-
    REPORT  ZTEST03.
    TABLES: ISEG,MARA.
    TYPE-POOLS : SLIS.
    INTERNAL TABLE FOR INVENTORY STOCK *****************
    DATA: BEGIN OF ITS1 OCCURS 0,
          MATNR LIKE ISEG-MATNR,
          MEINS LIKE ISEG-MEINS,
          MENGE LIKE ISEG-MENGE,
          WRTZL LIKE ISEG-WRTZL,
          BUCHM LIKE ISEG-BUCHM,
          WRTBM LIKE ISEG-WRTBM,
          WERKS LIKE ISEG-WERKS,
          BUDAT LIKE ISEG-BUDAT,
          MTART LIKE MARA-MTART,
          ITEMDESC LIKE MAKT-MAKTX,
          DIFFQTY LIKE ISEG-BUCHM,
          DIFFVALUE LIKE ISEG-WRTBM,
          END OF ITS1.
    data: t_heading type slis_t_listheader.
    SELECTION-SCREEN BEGIN OF BLOCK PAR1 WITH FRAME TITLE TEXT-001.
    *********PARAMETERS*********
    PARAMETERS : PLANT LIKE ISEG-WERKS OBLIGATORY.
    *********SELECTION SCREEN OPTIONS*********
    SELECT-OPTIONS : R_DATE FOR ISEG-BUDAT,
                     M_TYPE  FOR MARA-MTART,
                     IT_M FOR MARA-MATNR.
    *********DEFINING VARIABLES*********
      SELECTION-SCREEN END OF BLOCK par1.
    TOP-OF-PAGE.
         PERFORM PG_HEADER.
    START-OF-SELECTION.
    SELECT DISTINCT A~MATNR A~MEINS A~MENGE A~WRTZL A~BUCHM A~WRTBM A~WERKS A~BUDAT B~MTART
       FROM ISEG AS A INNER JOIN MARA AS B ON B~MATNR = A~MATNR
         INTO CORRESPONDING FIELDS OF TABLE ITS1 WHERE B~MATNR = A~MATNR  AND B~MEINS = A~MEINS AND A~WERKS = PLANT AND A~BUDAT IN R_DATE AND B~MTART IN M_TYPE AND B~MATNR IN IT_M.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
       INPUT = ITS1-MATNR
       IMPORTING
       OUTPUT = ITS1-MATNR.
      SORT ITS1 BY MATNR.
      DELETE ADJACENT DUPLICATES  FROM  ITS1 WHERE MENGE = 0 AND BUCHM = 0.
    LOOP AT ITS1.
         ITS1-DIFFQTY = ITS1-MENGE - ITS1-BUCHM.
         ITS1-DIFFVALUE = ITS1-WRTZL - ITS1-WRTBM.
         SELECT SINGLE MAKTX FROM MAKT INTO ITS1-ITEMDESC WHERE MATNR = ITS1-MATNR.
         MODIFY ITS1.
    ENDLOOP.
    PERFORM PRN_SMSTOCK_ALV.
    WRITING DATA FROM D TABLES**********
    FORM PG_HEADER.
    WRITE : 'PHYSICAL INVENTORY AUDIT REPORT             PLANT : ', PLANT.
    ENDFORM.
    *&      Form  PRN_SMSTOCK_ALV
          text
    -->  p1        text
    <--  p2        text
    form PRN_SMSTOCK_ALV .
    data: w_title   type lvc_title,
          w_repid   type syrepid,
          w_comm    type slis_formname,
          w_status  type slis_formname,
          x_layout  type slis_layout_alv,
          t_event    type slis_t_event,
          t_fieldcat type slis_t_fieldcat_alv,
          t_sort     type slis_t_sortinfo_alv.
    refresh t_fieldcat.
    refresh t_event.
    refresh t_sort.
    clear x_layout.
    clear w_title.
      perform set_fieldcat2 using:
    1  'MTART'     'MTART'     'MARA'  '15'  space 'MATERIAL TYPE'        space  space  space space space space space space SPACE t_fieldcat 'L' 'C',
    2  'MATNR'     'MATNR'     'MARA'  '13'  space 'MATERIAL NO. '        space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    3  'ITEMDESC'  'MAKTX'     'MAKT'  '25'  space 'MATERIAL DESCRIPTION' space  space  space space space space space space SPACE t_fieldcat 'L' 'C',
    4  'MEINS'     'MEINS'     'MARA'  '5'   space 'UOM'                  space  space  space space space space space space SPACE t_fieldcat 'C' 'C',
    5  'MENGE'     'MENGE'     'ISEG'  '13'  space 'ORG.INV.QTY'          space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    6  'WRTZL'     'WRTZL'     'ISEG'  '13'  space 'ORG.INV.VALUE'        space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    7  'BUCHM'     'BUCHM'     'ISEG'  '13'  space 'PHY.INV.QTY'          space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    8  'WRTBM'     'WRTBM'     'ISEG'  '13'  space 'PHY.INV.VALUE'        space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    9  'DIFFQTY'   'MENGE'     'ISEG'  '13'  space 'DIFF.INV.QTY'         space  space  space space space space space space SPACE t_fieldcat 'R' 'C',
    10 'DIFFVALUE' 'WRTZL'     'ISEG'  '13'  space 'DIFF.INV.VALUE'       space  space  space space space space space space SPACE t_fieldcat SPACE 'P'.
    x_layout-zebra = 'X'.
    perform set_top_page_heading using t_heading t_event.
    perform set_events using t_event.
      w_status = ''.
      w_repid = sy-repid.
      w_comm   = 'USER_COMMAND'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       = w_repid
          it_fieldcat              = t_fieldcat
          i_Callback_top_of_page   = 'Top-of-page'
          is_layout                = x_layout
          it_sort                  = t_sort
          i_callback_pf_status_set = w_status
          i_callback_user_command  = w_comm
          i_save                   = 'X'
          it_events                = t_event
          i_grid_title             = w_title
          tables
          t_outtab                 = ITS1
        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.
    FORM set_fieldcat2 USING
          p_colpos p_fieldname p_ref_fieldname p_ref_tabname
          p_outputlen p_noout
          p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
          p_hotspot p_showasicon p_checkbox p_edit
          p_dosum
          t_fieldcat TYPE slis_t_fieldcat_alv
          P_JUST
          P_FTYPE.
      DATA: wa_fieldcat TYPE slis_fieldcat_alv.
      CLEAR wa_fieldcat.
    General settings
      wa_fieldcat-fieldname = p_fieldname.
    wa_fieldcat-no_zero = 'X'.
      wa_fieldcat-col_pos = p_colpos.
      wa_fieldcat-no_out = p_noout.
      wa_fieldcat-hotspot = p_hotspot.
      wa_fieldcat-checkbox = p_checkbox.
      wa_fieldcat-icon = p_showasicon.
      wa_fieldcat-do_sum = p_dosum.
    Set output length.
      IF NOT p_outputlen IS INITIAL.
        wa_fieldcat-outputlen = p_outputlen.
      ENDIF.
    Set text headers.
    IF NOT p_seltext_m IS INITIAL.
        wa_fieldcat-seltext_m = p_seltext_m.
    ENDIF.
    IF NOT p_seltext_l IS INITIAL.
        wa_fieldcat-seltext_l = p_seltext_l.
    ENDIF.
    IF NOT p_seltext_s IS INITIAL.
        wa_fieldcat-seltext_s = p_seltext_s.
    ENDIF.
      IF NOT p_reptext_ddic IS INITIAL.
        wa_fieldcat-reptext_ddic = p_reptext_ddic.
      ENDIF.
    IF NOT p_ddictxt IS INITIAL.
        wa_fieldcat-ddictxt = p_ddictxt.
    ENDIF.
      IF NOT P_JUST IS INITIAL.
        WA_FIELDCAT-JUST = P_JUST.
      ENDIF.
    Set as editable or not.
      IF NOT p_edit IS INITIAL.
        wa_fieldcat-input     = 'X'.
        wa_fieldcat-edit     = 'X'.
      ENDIF.
      APPEND wa_fieldcat TO t_fieldcat.
    ENDFORM.                   "set_fieldcat2
    ======================== Subroutines called by ALV ================
    *&      Form  top_of_page
          Called on top_of_page ALV event.
          Prints the heading.
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
         exporting
              it_list_commentary = t_heading.
    ENDFORM.
    form set_top_page_heading using t_heading type slis_t_listheader
                                    t_events  type slis_t_event.
    data: x_heading type slis_listheader,
          x_event   type line of slis_t_event.
    Report title
      clear t_heading[].
      clear x_heading.
      x_heading-typ = 'H'.
      x_heading-info = 'PHYSICAL INVENTORY AUDIT REPORT'.
      append x_heading to t_heading.
    Plant Name
    clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'PLANT: '.
      x_heading-info = its1-werks.
      append x_heading to t_heading.
    Posting Date
    *clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'POSTING DATE: '.
    x_heading-info = ITS1-BUDAT.
    append x_heading to t_heading.
    Control Date
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'CONTROL No: '.
    x_heading-info = its1-werks.
    append x_heading to t_heading.
    Control date
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'CONTROL DATE: '.
    x_heading-info = its1-werks.
    append x_heading to t_heading.
    User who is running the report
    clear x_heading.
    x_heading-typ = 'S'.
    x_heading-key = 'User: '.
    x_heading-info = sy-uname.
    append x_heading to t_heading.
    Date of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Date: '.
      write sy-datum to x_heading-info.
      append x_heading to t_heading.
    Time of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Time: '.
      write sy-uzeit to x_heading-info.
      append x_heading to t_heading.
    Top of page event
      x_event-name = slis_ev_top_of_page.
      x_event-form = 'TOP_OF_PAGE'.
      append x_event to t_events.
    endform.
    form set_events using t_events type slis_t_event.
    data: x_event   type line of slis_t_event.
    endform.
    plzzz help me out as it is most urgent to me.
    regards,
    ric.s

  • Re: URGENT: - REGARDING FIELD IN TABLES

    HI
    I am using transaction code MB5B and i am getting d data but i want to search d field among d tables where amount in currency field(dmbtr) present in bsim or bseg table ,but i want to have dat field which use to display d calculation of d field (dbmtr),plz hel me out its urgent... he or sh will be rewarded...

    Hi,
    Please verify these internal tables in the program.
    DATA: BEGIN OF MAT_SUM OCCURS 100,                
            DMBTR(09)            type p    decimals 3,
    DATA: BEGIN OF MAT_SUM_BUK OCCURS 100,            
            DMBTR(09)            type p    decimals 3,
    DATA: BEGIN OF MAT_WEG OCCURS 100,                
            DMBTR(09)            type p    decimals 3,
    DATA: BEGIN OF MAT_WEG_BUK OCCURS 100,            
            DMBTR(09)            type p    decimals 3,
    types : begin of stype_bsim_lean,                 
              dmbtr like bsim-dmbtr,                  
    TYPES : BEGIN OF STYPE_MSEG_LEAN,                 
               DMBTR             LIKE      MSEG-DMBTR,
    DATA: BEGIN OF IMSWEG OCCURS 1000,                
            DMBTR LIKE MSEG-DMBTR,                 
    I think these are the tables used to sum up the dmbtr.
    I think dmbtr is taken from bsim and mseg.Dmbtr id taken from bsim because of the adjustments in finance module..
    <b>Reward points if helpful,</b>
    Regards,
    jinesh.

  • Urgent: Regarding Sending Email Notifications

    Hi all,
    We have scenario in which we have to search those users who has not accessed their accounts from last 2 years and then send them an email notification and after one month of notificatio we have to search those users who have been notified but yet not accessed their account and delete those accounts from LDAP.
    For this we are using JNDI to search users. Now we are facing two problems:
    1. The users email ids are in the form of List. When we refer this list in To address of Email Template then it gives us an exception: Saying that service not responding, No recepient addresses while in case of hard coded values it runs successfully. I think this is due to that it requires a semicolon(;) seperated list to send email notification. Thats why we thought that we have to use some looping to send the notifications to one user at a time. But if there is any other solution, please suggest.
    2. For the scenario of the users to be deleted, how will we come to know whether after two years the users have been notified successfully??
    This is really urgent. Please suggest any idea regarding the above issues.
    Thanks & Regards
    Gaurav Jain

    The way to do it would be to put your human task inside a while loop. This while loop would set a variable to the approver's userid and would continue till all the four approve it. In your human task you need just one approver and that would be the variable which the while loop sets.
    If you do it this way, then you can use the OOTB notification tab in the .task and select the 'Assignee' as the email notification receiver and you won't have to worry about getting the email ids as well.
    As for the current approach which you have, that is of using the sequential approvers in the human task, I haven't tried it, but just try setting the notification tab in the .task to 'Assignee' and event 'On Assignment'. That should do it as well.
    -Bikash

  • URGENT:- Regarding Purchase Requsition

    Hi,
    i am making report in which i want to display that these are the requsitions whic are approved by these people at these dates...
    plzzz help me out as it is most urgent to me..
    regards,
    ric.s

    hi,
    i am already using EBAN but it let me using the field that this is created the requisition and this date is the final approval of it.
    But i want to display that these are persons who had approved this requisitions at these dates..If there are 3 persons who had approved it then the display of it will be done..
    if anybody provide me solution he or she will bve definately rewarded..

Maybe you are looking for

  • How to compose one email and sent to everyone in category

    how to compose one email and sent to everyone in category (Yahoo mail contacts).

  • Crash Tastic - Keynote 09

    I can open a template but the second I touch a template master it crashes and says, An unexpected error has occurred. Please quit and reopen Keynote. The error report is Process: Keynote [1385] Path: /Applications/iWork '09/Keynote.app/Contents/MacOS

  • 10g RAC upgrade

    We are planning to install 10gR2 RAC on Sun solaris 10 with Veritas and Hiatchi SAN. After that, we would like to upgrade 9iRAC database to 10g RAC. We tried once, the CRS install was okay. But, we couldn't bring dbua up ( We made sure Xwindow setup

  • VTO-2014 Error - Informative

    After Installing an Oracle 9i database and its patches then installing a 9i and 10g client dicovered problems running enterprise manager. When I used the feature Show DDL and Create Like for certain objects I would receive the following erros VTO-201

  • [SOLVED]iPython 2.0.0 problem with pyzmq

    Hello, I have problem with running ipython 2. It complains about pyzmq version, but my version is 11 versions newer than they wants. Here is output of ipython qtconsole: ipython qtconsole Traceback (most recent call last): File "/usr/lib/python3.4/si