Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8122

Re: Post values into fb50 t code from zreport

$
0
0

Hello Everybody,

 

Iam half way through and stuck in between, Iam not sure what changes are to be done after this. I am pasting my code for your ref. Can anybody help in this regard please.

 

Note: My  requirement is to fetch the values from zreport output and there in the screen i have place a pish button " post to journal entry" . When i click the button "FB50" t code should trigger and the output value should be posted in the " amount in the document currency" field. Only the posting part is pending.

 

Please help.

 

 

   REPORT  zwip_rm_new1.

   TABLES:afpo,mbew,afko,stpo,stas,makt,marm,aufk,aufm,mara,afru,mseg,resb,jcds,sscrfields.

   TYPE-POOLS:slis, vrm.

   TYPES:BEGIN OF ty_final ,
         aufnr   TYPE afpo-aufnr,
         auart TYPE aufk-auart,
         psmng   TYPE afpo-psmng,
         wemng   TYPE afpo-wemng,
         plnbez  TYPE afko-plnbez,
         gmein   TYPE AFKO-GMEIN,
         werks   TYPE aufk-werks,
         matnr   TYPE makt-matnr,
         matnr1  type resb-matnr,
         maktx   TYPE makt-maktx,
         maktx1   TYPE makt-maktx,
         balqty  TYPE afpo-psmng,
         wipval  TYPE mbew-verpr,
*        auart   TYPE aufk-auart,
         enwrt TYPE resb-enwrt,
         lgort TYPE afpo-lgort,
         DAUAT type afpo-DAUAT,
         elikz type afpo-elikz,
         XLOEK type resb-XLOEK,
         IDAT2 type aufk-IDAT2,
         baugr type resb-baugr,
         rsnum type afko-rsnum,
         rsnum1 type resb-rsnum,
         rspos type resb-rspos,
         stlkn type stas-stlkn,
         stlty type afko-stlty,
         stlnr type afko-stlnr,
         stlal type afko-stlal,
         idnrk type stpo-idnrk,
         END OF ty_final.

   DATA:it_final TYPE TABLE OF ty_final,
        wa_final TYPE ty_final.

   DATA:t_fieldcat  TYPE slis_t_fieldcat_alv,
        w_fieldcat  TYPE slis_fieldcat_alv,
        ls_fieldcat TYPE slis_fieldcat_alv,
        it_sort     TYPE slis_t_sortinfo_alv,
        w_sort      TYPE slis_sortinfo_alv,
        wa_layout   TYPE slis_layout_alv,
        gt_events   TYPE slis_t_event,
        g_repid     LIKE sy-repid,
        gs_variant  LIKE disvariant.
   g_repid = sy-repid.
   gs_variant-report = g_repid.
   wa_layout-zebra      = 'X'.

types: begin of bapiache08,
        bus_act type c,
        username TYPE username,
        doc_date TYPE d,
        psting_date TYPE d,
        fisc_year TYPE d,
        fis_period TYPE d,
        doc_type TYPE c,
        comp_code TYPE c,
        END OF bapiache08.

DATA FLAG.

data: set_PF_STATUS TYPE sy-ucomm,
       user_command TYPE sy-ucomm.

DATA: ok_code TYPE sy-ucomm,
       save_ok TYPE sy-ucomm.

data: t_documentheader TYPE STANDARD TABLE OF BAPIACHE08 WITH HEADER LINE,
       w_documentheader TYPE BAPIACHE08.

data: t_OBJ_TYPE TYPE STANDARD TABLE OF BAPIACHE02-OBJ_TYPE WITH HEADER LINE,
       t_OBJ_KEY  TYPE STANDARD TABLE OF BAPIACHE02-OBJ_KEY WITH HEADER LINE,
       t_OBJ_SYS  TYPE STANDARD TABLE OF BAPIACHE02-OBJ_SYS WITH HEADER LINE,
       t_ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL08 WITH HEADER LINE,
       t_CURRENCYAMOUNT TYPE STANDARD TABLE OF BAPIACCR08 WITH HEADER LINE,
       t_RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE,
       t_EXTENSION1 TYPE STANDARD TABLE OF BAPIEXTC WITH HEADER LINE.

   PERFORM select.
   PERFORM field.

   PERFORM layout_init USING wa_layout.
   PERFORM display.


   FORM select.

    SELECT  aufnr idat2 from aufk into CORRESPONDING FIELDS OF TABLE it_final
    where auart = 'PP01' and werks = 'palm' and idat2 = '00.00.0000'.

    SHIFT wa_final-aufnr LEFT DELETING LEADING '0'.

  SELECT a~psmng a~wemng a~lgort a~DAUAT  b~aufnr b~plnbez c~auart b~gmein d~xloek d~baugr b~rsnum
    d~rsnum  as rsnum1 d~matnr as matnr1 d~rspos b~stlty b~stlnr b~stlal d~enwrt
  into CORRESPONDING FIELDS OF table  it_final from
              afpo as A
           INNER JOIN afko as b on a~aufnr = b~aufnr
           INNER JOIN AUFK AS C on a~aufnr = c~aufnr
           inner JOIN resb as d on a~aufnr = d~aufnr
*          where b~aufnr IN s_aufnr and b~plnbez in s_plnbez and c~erdat in s_erdat and a~matnr = b~plnbez
           where a~DAUAT = 'PP01' AND a~DAUAT = c~auart and a~elikz ne 'X' and
           d~xloek ne 'X' and a~matnr = d~baugr and b~rsnum = d~rsnum.
    SHIFT wa_final-aufnr LEFT DELETING LEADING '0'.

     LOOP AT it_final INTO wa_final.

       SELECT SINGLE maktx
              FROM makt
              INTO wa_final-maktx
              WHERE matnr = wa_final-plnbez.

         SELECT SINGLE maktx
              FROM makt
              INTO wa_final-maktx1
              WHERE matnr = wa_final-matnr1.

       wa_final-balqty  wa_final-psmng  wa_final-wemng .                 " Production order open qty"

         select SINGLE  stlty stlnr stlal stlkn
             from stas
             into CORRESPONDING FIELDS OF wa_final
             where stlty = wa_final-stlty
             and stlnr = wa_final-stlnr
             and stlal = wa_final-stlal.

      select SINGLE  idnrk
             from stpo
             into CORRESPONDING FIELDS OF wa_final
             where stlty = wa_final-stlty
             and stlnr = wa_final-stlnr
             and stlkn = wa_final-stlkn.

       wa_final-wipval = ( wa_final-enwrt / wa_final-psmng ) * wa_final-balqty.

         SHIFT wa_final-aufnr LEFT DELETING LEADING '0'.
         SHIFT wa_final-matnr1 LEFT DELETING LEADING '0'.

       SHIFT wa_final-aufnr LEFT DELETING LEADING '0'.
       MODIFY it_final FROM wa_final.
     ENDLOOP.

     delete it_final where balqty eq 0.
     delete it_final WHERE auart ne 'PP01'.

   ENDFORM.                    "select

FORM set_pf_status USING rt_extab TYPE slis_t_extab.        "#EC CALLED
DESCRIBE TABLE rt_extab.
SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.
ENDFORM. "Set_pf_status

*&---------------------------------------------------------------------*
*&      Form  field
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*

   FORM field" FIELD CATALOGUE

     w_fieldcat-fieldname = 'AUFNR'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 13.
     w_fieldcat-seltext_m = 'Order'.
      w_sort-fieldname = 'AUFNR'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.

     w_fieldcat-fieldname = 'PLNBEZ'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 14.
     w_fieldcat-seltext_m = 'Finished Material'.
     w_sort-fieldname = 'PLNBEZ'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.

     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.

     w_fieldcat-fieldname = 'MAKTX'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 35.
     w_fieldcat-seltext_m = 'FG Description'.
      w_sort-fieldname = 'MAKTX'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.

     w_fieldcat-fieldname = 'PSMNG'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 10.
     w_fieldcat-seltext_m = 'Ordered Qty'.
      w_sort-fieldname = 'PSMNG'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.
     w_fieldcat-decimals_out = '0'.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.

     w_fieldcat-fieldname = 'WEMNG'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 10.
     w_fieldcat-seltext_m = 'GR Qty'.
     w_fieldcat-no_out    = 'X'.
     w_fieldcat-decimals_out = '0'.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.


     w_fieldcat-fieldname = 'GMEIN'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 8.
     w_fieldcat-seltext_m = 'Order Un'.
     w_fieldcat-just      = 'C'.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.


     w_fieldcat-fieldname = 'LGORT'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 8.
     w_fieldcat-seltext_m = 'Stor.Loc.'.
     w_fieldcat-just      = 'C'.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.

     w_fieldcat-fieldname = 'ENWRT'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 15.
     w_fieldcat-do_sum    = 'total'.
     w_fieldcat-seltext_m = 'Withdrawn Amount'.
      w_sort-fieldname = 'ENWRT'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.


     w_fieldcat-fieldname = 'BALQTY'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 7.
     w_fieldcat-seltext_m = 'WIP Qty'.
      w_sort-fieldname = 'BALQTY'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.
      w_fieldcat-decimals_out = '0'.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.

     w_fieldcat-fieldname = 'WIPVAL'.
     w_fieldcat-tabname   = 'it_final'.
     w_fieldcat-outputlen = 15.
     w_fieldcat-do_sum    = 'total'.
     w_fieldcat-seltext_m = 'WIP Amount'.
      w_sort-fieldname = 'WIPVAL'.
     w_sort-tabname   = 'IALV'.
     w_sort-up        = 'A'.
     append w_sort to it_sort.
     APPEND w_fieldcat TO t_fieldcat.
     CLEAR w_fieldcat.


refresh t_documentheader.

t_documentheader-bus_act ='RFBU'.
t_documentheader-username = sy-uname.
*t_documentheader-doc_date = lv_month.
*t_documentheader-psting_date = lv_month.
*t_documentheader-fisc_year = sy-datum(4).
*t_documentheader-fis_period = sy-datum+4(2).
t_documentheader-doc_type = 'SA'.
t_documentheader-comp_code = 'XXX'.
append t_documentheader.

refresh t_accountgl.
t_accountgl-itemno_acc = '1'.
t_accountgl-gl_account = '408010'.
t_accountgl-item_text = ' '.
t_accountgl-doc_type = 'SA'.
t_accountgl-comp_code = 'XXX'.
t_accountgl-pstng_date = sy-datum.
APPEND t_accountgl.
CLEAR  t_accountgl.

t_accountgl-itemno_acc = '2'.
t_accountgl-gl_account = '630300'.
t_accountgl-item_text = ' '.
t_accountgl-doc_type = 'SA'.
t_accountgl-comp_code = 'XXX'.
t_accountgl-pstng_date = sy-datum.
APPEND t_accountgl.
CLEAR  t_accountgl.

refresh t_currencyamount.
t_currencyamount-itemno_acc = '1'.
t_currencyamount-curr_type = '00'.
t_currencyamount-currency = 'INR'.
t_currencyamount-amt_doccur = '10'.
APPEND t_currencyamount.
CLEAR t_currencyamount.

t_currencyamount-itemno_acc = '2'.
t_currencyamount-curr_type = '00'.
t_currencyamount-currency = 'INR'.
t_currencyamount-amt_doccur = '-10'.
APPEND t_currencyamount.


refresh t_return.

   ENDFORM.                    "field

*&---------------------------------------------------------------------*
*&      Form  LAYOUT_INIT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->RS_LAYOUT  text
*----------------------------------------------------------------------*
   FORM layout_init USING rs_layout TYPE slis_layout_alv.

     rs_layout-detail_popup      = space.

   ENDFORM.                    "LAYOUT_INIT
*&---------------------------------------------------------------------*
*&      Form  display
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
   FORM display.

     CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM                = SY-REPID
         I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'
         I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
         i_grid_title                      = 'WIP VALUATION FOR ALL OPEN ORDERS'
         is_layout                         = wa_layout
         it_events                         = gt_events[]
         is_variant                        = gs_variant
         it_fieldcat                       = t_fieldcat
         it_sort                           = it_sort
         i_save                            = 'A'
       TABLES
         t_outtab                          = it_final.

   CALL FUNCTION 'BAPI_ACC_GL_POSTING_POST'
   EXPORTING
     documentheader       = t_documentheader
  IMPORTING
    OBJ_TYPE              = t_obj_type
    OBJ_KEY               = t_obj_key
    OBJ_SYS               = t_obj_sys
   tables
     accountgl            = t_accountgl
     currencyamount       = t_currencyamount
     RETURN               = t_return.


   ENDFORM.                    "display

*&---------------------------------------------------------------------*
*&      Form  EVENTTAB_BUILD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->RT_EVENTS  text
*----------------------------------------------------------------------*
   FORM eventtab_build USING rt_events TYPE slis_t_event.

     DATA: ls_event TYPE slis_alv_event.

     CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type = 0
       IMPORTING
         et_events   = rt_events.
     READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
                          INTO ls_event.
     IF sy-subrc = 0.
       MOVE slis_ev_top_of_page TO ls_event-form.
       APPEND ls_event TO rt_events.
     ENDIF.

   ENDFORM.                    "EVENTTAB_BUILD

 

Regards,

Sam.


Viewing all articles
Browse latest Browse all 8122

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>