Sunday, 31 January 2021

SAP ABAP - Create Purchase Order Text in Material Master Using BAPI CREATE_TEXT

 DATA :

    FID       TYPE  THEAD-TDID,
    FLANGUAGE TYPE  THEAD-TDSPRAS,
    FNAME     TYPE  THEAD-TDNAME,
    FOBJECT   TYPE  THEAD-TDOBJECT.

  FID       'BEST'.
  FNAME     = 'MAT0001'. "Material Number
  FOBJECT   'MATERIAL'.
  FLANGUAGE 'EN'.

  REFRESH IT_FLINES.
  CLEAR IT_FLINES.
  IT_FLINES-TDFORMAT '*'.
  IT_FLINES-TDLINE   = 'Long Text Purchase Order Text'.
  APPEND IT_FLINES.

   CALL FUNCTION 'CREATE_TEXT'
    EXPORTING
      FID         FID
      FLANGUAGE   SY-LANGU
      FNAME       FNAME
      FOBJECT     FOBJECT
      SAVE_DIRECT 'X'
      FFORMAT     '*'
    TABLES
      FLINES      IT_FLINES[]
    EXCEPTIONS
      NO_INIT     1
      NO_SAVE     2
      OTHERS      3.

    CALL FUNCTION 'COMMIT_TEXT'
      EXPORTING
        OBJECT          FOBJECT
        NAME            FNAME
        ID              FID
        LANGUAGE        SY-LANGU
        SAVEMODE_DIRECT 'X'
        KEEP            ''.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT 'X'.


SAP ABAP - Add Custom Field In MB52

1. Add custom field declaration in structure bestand




Custom field can be added directly with Insert line area or using enhancement point

2. Add New Enhancement Point in list_ouput sub routines



ENHANCEMENT 1  ZMB52_ADDITIONALFIELD.    "active version
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(134) Form LIST_OUTPUT, Start, Enhancement ZMB52_ADDITIONALFIELD, Start                                                                               A
  datawa_fcat LIKE LINE OF fieldcat,
          g_tabix LIKE sy-tabix.

    CLEAR wa_fcat.
    wa_fcat-fieldname 'LGPBE'.
    wa_fcat-tabname   'BESTAND'.
    wa_fcat-seltext_m 'Storage Bin'.
    APPEND wa_fcat to fieldcat.

    CLEAR wa_fcat.
    wa_fcat-fieldname 'BISMT'.
    wa_fcat-tabname   'BESTAND'.
    wa_fcat-seltext_m 'Old Material Number'.
    APPEND wa_fcat TO fieldcat.

  SELECT matnr,
         werks,
         lgort,
         lgpbe
    FROM mard
    INTO TABLE @Data(lt_mard)
          FOR ALL ENTRIES IN @bestand
          WHERE matnr @bestand-matnr
          AND  werks @bestand-werks
          AND  lgort @bestand-lgort.

    SELECT matnr,
           bismt
      FROM mara
      INto TABLE @data(lt_mara)
          FOR ALL ENTRIES IN @bestand
          WHERE matnr @bestand-matnr.

    LOOP AT bestand[] ASSIGNING FIELD-SYMBOL(<lfs_output>).
    READ TABLE lt_mard INTO DATA(ls_mardWITH KEY matnr <lfs_output>-matnr
                                                   werks <lfs_output>-werks
                                                   lgort <lfs_output>-lgort.
      IF sy-subrc 0.
      <lfs_output>-lgpbe ls_mard-lgpbe.
      ENDIF.
    READ TABLE lt_mara INTO data(ls_marawith key matnr <lfs_output>-matnr.
      IF sy-subrc 0.
      <lfs_output>-bismt ls_mara-bismt.
      ENDIF.
    ENDLOOP.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(135) Form LIST_OUTPUT, Start, Enhancement ZMB52_ADDITIONALFIELD, End                                                                                 A
ENDENHANCEMENT.






Friday, 29 January 2021

Aplikasi Web Inventory Management Part-2

Melanjutkan dari postingan sebelumnya, yaitu menu transaksi. Pada menu transaksi ini terdapat 9 menu, yaitu :


1. Create Purchase Requisition






2. Create Purchase Order






3. Create Reservation





4. Approve PR





5. Approve PO





6. Inventory Movement

Penerimaan PO



Setelah penerimaan PO berhasil, maka akan menambah stock inventory atas material yang ada di PO yang sudah diterima




Transfer Stock Berdasarkan Reservasi



Berdasarkan no Reservasi 3000000000 terdapat permintaan material MAT0001 Sejumlah 100 PC dari gudang WH00 ke Gudang WH01, setelah proses transfer ini dilakukan maka stock Material MAT0001 digudang WH00 akan berkurang sejumlah yang di transfer dan akan menambah stock digudang WH01 sejumlah yang ditransfer.


Terlihat informasi dari system bahwa stock material MAT0001 digudang WH00 tidak mencukupi permintaan transfer ke gudang WH01, quantity yang ditransfer bisa diganti misal menjadi 20 maka yang 80 akan menjadi outstanding atas reservasi tersebut.



maka secara stock atas material MAT0001 akan terlihat seperti berikut :




7. Update Stock




8. Cancel Approve PR



9. Cancel Approve PO



Itulah gambaran transaksi yang ada pada aplikasi ini.



Jika ada yang berminat dengan aplikasi ini, untuk harga bisa chat ke nomor 087763098298 atau email ke : husnulmub@gmail.com


Belajar SAP ABAP RAP

  Belajar SAP ABAP RAP: Pengenalan dan Konsep Dasar Restful ABAP Programming Model Kalau kamu seorang ABAPer yang mulai terjun ke dunia SAP...