JIT action, mass change planned requirements date

BAdI interface IF_EX_JITO_ACTION.
JIT-action ZDAT creates popup window with date and time fields.

method if_ex_jito_action~customer_action.
"*********************************** jit.sap.sd, 09.2015"
" IMPORTING"
" REFERENCE(ACTION_IV) TYPE CJIT07-AKTION"
" REFERENCE(CHAINED_ACTION_IV) TYPE CHAR1 DEFAULT ' ' "
" REFERENCE(FRAME_ACTION_IV) TYPE CJIT07-AKTION OPTIONAL"
" EXPORTING"
" REFERENCE(STATUS_UPD_DONE_EV) TYPE CHAR1"
" CHANGING"
" REFERENCE(JITODIAHD_CT) TYPE JITODIAHD_TT OPTIONAL"
" REFERENCE(JITODIAIT_CT) TYPE JITODIAIT_TT"
" REFERENCE(JITODIACO_CT) TYPE JITODIACO_TT OPTIONAL"
" REFERENCE(JITOAD_CT) TYPE JITOAD_TT OPTIONAL"
" REFERENCE(JITO_IT_SPEC_CT) TYPE JITO_IT_SPEC_TT OPTIONAL"
" REFERENCE(ASYNC_POSTING_CV) TYPE CHAR1 DEFAULT ' ' "
" REFERENCE(MSSG_RET_CT) TYPE MSSG_RET_TT"
" REFERENCE(JITODATA_CS) TYPE JITODATA OPTIONAL"
" EXCEPTIONS"
" NO_ACTION_DONE"

case action_iv.

"**********************************"

when 'ZDAT'. "Geplantes Bedarfsdatum"
data: l_returncode(1) type c,
ivals type table of sval,
lt_fields type sval,
lv_foop type sval,
lv_xdate type datum,
lv_xtime type uzeit,
ls_jitodiaco type jitodiaco,
lv_timestamp type tzntstmps.

clear: lt_fields.
lt_fields-tabname = 'RKAUF'.
lt_fields-fieldname = 'TODATE'.
lt_fields-value = sy-datum.
lt_fields-field_obl = 'X'.
lt_fields-fieldtext = 'Set the date: '.
append lt_fields to ivals.

clear: lt_fields.
lt_fields-tabname = 'SFSRFW_TIMES'.
lt_fields-fieldname = 'CREATETIME'.
lt_fields-field_obl = 'X'.
lt_fields-value = sy-uzeit.
lt_fields-fieldtext = 'Set the time: '.
append lt_fields to ivals.

call function 'POPUP_GET_VALUES'
exporting
popup_title = 'Planned requirements date'
importing
returncode = l_returncode
tables
fields = ivals
exceptions
error_in_fields = 1
others = 2.

if l_returncode eq 'A' or sy-subrc <> 0.
" lv_error = 'X'."
exit.
else. " √ -ОК-!"
loop at ivals[] into lv_foop.
if lv_foop-fieldname eq 'TODATE'.
lv_xdate = lv_foop-value.
else.
lv_xtime = lv_foop-value.
endif.
endloop.

call function 'CONVERT_INTO_TIMESTAMP'
exporting
i_datlo = lv_xdate
i_timlo = lv_xtime
i_tzone = sy-zonlo
importing
e_timestamp = lv_timestamp.

if jitodiaco_ct[] is not initial.
loop at jitodiaco_ct into ls_jitodiaco.
update jitoit set rdate = lv_timestamp where outpo eq ls_jitodiaco-outpo and intst eq 'XX10'.
endloop.
endif.

endif.

"ZDAT"
endcase.
endmethod.

JITR: Reorganisation Grunddaten

Die Transaktion JITR wird als Reorganisation der Grunddaten bezeichnet und wird immer dann verwendet, wenn bestehende Daten aus dem JIT bereinigt werden sollen. Je
nach Anwendungsfall stehen in der Transaktion drei verschiedene Funktionalitäten zur Verfügung:

  • Grunddaten im Shared Buffer neu aufbauen: SAP JIT speichert für die Optimierung der Performance Kundendaten, Materialdaten, Teilegruppendaten und die
    Komponentenliste im Shared Buffer. Dieser wird dann für das Prozessieren der Bewegungsdaten verwendet und das System liest nicht immer die Grunddaten neu
    nach, um so Performance einzusparen. Wenn sich Grunddaten im SAP JIT ändern, werden diese nicht automatisch im Shared Buffer aktualisiert, somit muss entweder
    eine manuelle Aktualisierung oder ein erneutes Aufbauen über einen beispielsweise zeitlich eingeplanten Hintergrundjob erfolgen. Folgendes Beispiel beschreibt diesen
    Fall. In Abschn. 3.4.1 wurde zur Teilegruppenfndung beschrieben, dass bei einer Teilegruppenfndung per Teilegruppenmaterial das Teilegruppenmaterial im Feld
    „Werksüberg.konf.Mat.“ im Materialstamm (Grunddaten 2) hinterlegt werden muss. Wird das Material im Feld „Werksüberg.konf.Mat.“ verändert, verwendet SAP JIT
    immer noch das zuletzt hinterlegte Teilegruppenmaterial. Um die Änderung im Shared Buffer durchzuführen, muss der Shared Buffer neu aufgebaut werden.
    Werden in der Praxis viele verschiedene Applikationsserver verwendet, empfehlt es sich die Transaktion JITR mit einzelnen Steps für jeden einzelnen Applikationsserver
    auszuführen. Würde der Haken „alle Server“ bei vielen Servern verwendet werden, so erhöht dies die Laufzeit des Hintergrundprogramms.

  • Reorganisation der JIT-Materialstammdaten: Unter JIT-Materialstammdaten werden Einträge aus der Tabelle JITMA verstanden. Die Tabelle JITMA bekommt
    immer neue Einträge hinzu, wenn ein neuer JIT-Lieferplan (Kennzeichen «J» im Customizing für Verkaufsbelegarten) angelegt wird. Wird ein JIT-Lieferplan allerdings abgesagt, wird die Tabelle JITMA nicht automatisch aktualisiert. Nicht mehr benötigte Einträge können somit über die Funktion «Reorganisation der JIT-Materialstammdaten» aus der Tabelle JITMA gelöscht werden.

  • Übernahme von neuen Lieferplanpositionen in bestehende Abrufe: Im Laufe eines JIT-Prozesses kann es vorkommen, das ein bestehender JIT-Lieferplan abgesagt
    und ein neuer JIT-Lieferplan angelegt werden muss. Die Zuordnung von JIT-Abrufe bzw. von der Teilegruppe zu den einzelnen JIT-Materialstammdaten findet über
    die Tabelle JITCO statt. Diese wird nicht automatisch aktualisiert, wenn ein nicht mehr benötigter JIT-Lieferplan abgesagt und ein neuer JIT-Lieferplan angelegt wird.
    Um lieferfähig bleiben zu können, muss dem JIT-Abruf der neue JIT-Lieferplan zugeordnet werden. Die Funktionalität «Übernahme von neuen Lieferplanpositionen
    in bestehende Abrufe» aktualisiert die Einträge in der Tabelle JITCO und führt die relevanten neuen Zuordnungen durch.

© Praxishandbuch JIT JIS mit SAP

JIT: How Component group type assignment is done in call components?

sap-blau

How the system will does the job:

The system carries out this function automatically, each time a JIT call is received. In this way it assigns each call component transmitted to a components group type. The components group type then takes on the internal control of the call components.

With sequenced JIT calls for assemblies, the system assigns several call components to the same components group type. With the other call types the call components and the components group type form a logical unit and the system therefore assigns a different components group type to each call component.

In the components group determination the system compares whether the characteristics of the call components match a components group type. As soon as it can assign a call component, it continues with the next one. In the profile for the components group determination you can define with which priority the system should consider the various characteristics. The system determines the relevant characteristics of the call components as follows:

JIT customer

The JIT customer is made up of the sold-to party and the partner description and can therefore be taken from the IDoc.

Unloading point and assembly location

The unloading point and, if necessary the assembly location, are also transmitted with the JIT call. The system can also take these characteristics of the call components from the IDoc.

Components group material

The JIT customer generally transmits the components group material with a call. You have several options for defining the components group material of the call component before the components group determination.

You can realize an individual components group material determination using a customer exit. This is particularly recommended for sequenced JIT calls for assemblies, due to the large number of variants.

If you use the process for discrete materials, you can transfer the material of the call components as a components group material.

If you use the process for discrete materials and exactly one components group material can be assigned to a call component, you can transfer the configurable material of the call component as a components group material. To do this you must have entered the configurable material in the material master of the call component in the tab page Basic data 2 in the field Cross plant conf.mat.

Production version

You can also assign the production version using a customer exit. The production version allows you to assign two otherwise equal call components to different components group types, to produce them on different production lines, for example.

There are also call types — please follow the below link:

Call Structure and Call Types

IDocs sending

IDocs sending via ALE

JIT inbound from scratch proccess IMG

First of all we’ll create a plant, and then — sales organization:

SPRO > Enterprise structure > Definition > Define, copy, delete, check sales organization

img_56151a2c1b378

Checking SPRO — step by step:

Creating Reconciliation Account in General Ledger (FS00):

In OX19 please assign Control area to Control company (new entries).

Now we will create customer for JIT proccess, t-code XD01, on the tab page «Unloading points» enter an unloading point:

On the «Sales area data > Shipping» select the indicator Order combination.

On the tab page Partner Functions enter a Partner Description. If you want to enter other goods recipients, make an entry in the table.

XD02

Then you have created a JIS system partner profile (t-code WE20).

Next step — is to creating a couple of component group material (KMAT):


Read the rest of this article

JIT Humor

Receiving invoice via EDI: INCINV_CREATE

Basic types INCINV_CREATE01 / INCINV_CREATE02 — Incoming Invoice (IncomingInvoice) are available since EHP5.

Next MRM BAPI’es provides Invoice Verification:

  1. ALE_INCOMINGINVOICE_CREATE1
  2. BAPI_INCOMINGINVOICE_CANCEL — Invoice Verification: Reverse Invoice
  3. BAPI_INCOMINGINVOICE_CHANGE — Invoice Verification: Change Provisional Invoice
  4. BAPI_INCOMINGINVOICE_COMPLAIN — Invoice Verification: Display Letter of Complaint
  5. BAPI_INCOMINGINVOICE_CREATE — Invoice Verification: Post Invoice
  6. BAPI_INCOMINGINVOICE_CREATE1 — Invoice Verification: Hold/ Park/ Park As Complete/ Post Incoming Invo
  7. BAPI_INCOMINGINVOICE_DELETE — Invoice Verification: Delete Provisional Invoice
  8. BAPI_INCOMINGINVOICE_GETDETAIL — Invoice Verification: Display Incoming Invoice
  9. BAPI_INCOMINGINVOICE_GETLIST — Invoice Verification: List Incoming Invoices
  10. BAPI_INCOMINGINVOICE_PARK — Invoice Verification: Park Invoice
  11. BAPI_INCOMINGINVOICE_POST — Invoice Verification: Post Provisional Invoice
  12. BAPI_INCOMINGINVOICE_RELEASE — Invoice Verification: release invoice
  13. BAPI_INCOMINGINVOICE_SAVE — Invoice Verification: Flag Invoice for Background Processing

IncomingInvoice INCINV_CREATE IDoc will be passed to FM’s BAPI_IDOC_INPUT1 (Inbound BAPI IDoc: Individual Processing) or BAPI_IDOC_INPUTP (Packet Processing) which calls
IDOC_INPUT_INCINV_CREATE and subroutine CREATEFORMDATA1 (SAPLMRM_BAPI).

Sample IDoc INCINV_CREATE02 from quality system is listed below:

Display log message

    data: lv_rfcdest type ssm_rfc-rfcdest,
          mssg_ret_ls type mssg_ret,
          mssg_ret_lt type standard table of mssg_ret
...
    select single paramval into lv_rfcdest from zconstex where paramid eq 'L01_ERP'. "L01CLNT100"
...
    call function 'Z_LAGER_AU' destination lv_rfcdest
    tables
      ie_outpo = it_outpo.
 
    loop at it_outpo into hl_outpo.
      mssg_ret_ls-msgid = 'Z_S'.
      mssg_ret_ls-msgno = '024'.
      mssg_ret_ls-msgty = 'E'.
      mssg_ret_ls-msgv1 = hl_outpo-transmeans_id.
      append mssg_ret_ls TO mssg_ret_lt.
      delete jitodiaco_ct where outpo eq hl_outpo-transmeans_id.
      delete jitodiait_ct where outpo eq hl_outpo-transmeans_id.
    endloop.
    call function 'JIT03_SHOW_APPLICATION_LOG'
    exporting
      text_iv     = 'Message'
      title_iv    = 'Please read carefully'
    tables
      messages_it = mssg_ret_lt
    exceptions
      system_error = 1
      others       = 2.

Own customer exit for JITL (JITPP)

Defining the production info describes principles of using the table JITPP («JIT : Production Information») — repetitive manufacturing (A), stock transfer (B) and customer exit (Z). Table field is JITPP-BAFLU.

The transaction for controlling this behaviour is JITL:

The last one (customer exit) is very typical customer-function call, which is calls from functional module JIT03_DO_BACKFLUSH (CALL CUSTOMER-FUNCTION ‘009’), so function EXIT_SAPLJIT03_009 transmits into include ZXJIT0U19 next structures:

IS-A-JIT Transactions

Tcode Description Module
JITR Reorganisation Material Master Data IS-A-JIT
JITH Matching JIT call w.Fcst/JIT Delete Sch IS-A-JIT
JITI IDoc List for Specified JIT Calls IS-A-JIT
JITJ Signal Monitor IS-A-JIT
JITK Summarized JIT Calls Due for Dely IS-A-JIT
JITL Maintenance Dialog JIT Material IS-A-JIT
JITM JIT Monitoring IS-A-JIT
JITN Color Profile Maintenance IS-A-JIT
JITO Check Delivery Combination IS-A-JIT
JITQ Display Action Network IS-A-JIT
JIT1 JIT Call Inbound IS-A-JIT
JITS Graphic Progress Confirmation IS-A-JIT
JITT JIT: Maintennace Dialog Lead Times IS-A-JIT
JITU User Assignment — Display Variant IS-A-JIT
JITV Maintain JIT Control Data IS-A-JIT
JITW Lean JIT Monitoring IS-A-JIT
JITX JIT Excel Download Monitoring IS-A-JIT
JITY Archiving JIT Inbound IS-A-JIT
JITZ Display Documentation Data IS-A-JIT
ODLC Delivery Confirmation Outbound IS-A-JIT
JIT6 JIT: Action Entry (Barcode) IS-A-JIT
JITF Progress Confirmation IS-A-JIT
JIT7 JIT: Action Entry (Specified) IS-A-JIT
JITE Emergency Monitoring IS-A-JIT
JIT5 JIT Call Fast Change (1 screen) IS-A-JIT
JIT4 JIT Call Inbound: Simulation IS-A-JIT
JITC JIT Basic Data-Individual Maintenance IS-A-JIT
JIT3 Display JIT Call IS-A-JIT
JIT2 Change JIT Call IS-A-JIT
JITB Reprocess Pool of Confirmations IS-A-JIT
JITA Component list IS-A-JIT
JITG JIT Cockpit IS-A-JIT
OJIT4 JIT: Customizing Comp.Group Determn IS-A-JIT
EMJIT IDoc Monitor for JIT Calls IS-A-JIT
ODLCM Create Delivery Conf. Manually IS-A-JIT
OJIT0 JIT Customizing Subtree IS-A-JIT
OJIT2 JIT: Customizing Status IS-A-JIT
OJIT3 JIT: Customizing Call Control IS-A-JIT
OJIT1 Customizing JIT Actions IS-A-JIT
OJIT5 JIT : Sort Variant Maintenance IS-A-JIT
OJIT6 JIT : Barcode Qualifier Maintenance IS-A-JIT
OJIT7 JIT: Control Print Formatting IS-A-JIT
OJIT8 JIT : Ctrl Prfle Int. Warehouse Call IS-A-JIT
OJIT9 Variable JIT Messages IS-A-JIT
OJITI Customizing JIT Inbound IS-A-JIT
OJITO Customizing JIT Outbound IS-A-JIT
JITO6 Bar Code Entry IS-A-JIT
JITFX Progress Confirmation (without tabs) IS-A-JIT
JITMX JIT Monitoring (Simple Selection) IS-A-JIT
JITO1 Create/Change: Outbound Call IS-A-JIT
JITO3 Display: Outbound Call IS-A-JIT
JIT6H JIT: Action Entry (Barcode) IS-A-JIT
JITOA Archiving JIT Outbound IS-A-JIT
JITOE Status Correction IS-A-JIT
JITOM Monitoring JIT Outbound IS-A-JIT
JITOG JIT Cockpit Outbound IS-A-JIT
JIT7H JIT: Action Entry (Specified) IS-A-JIT
OJIT52 Replenish. Strat. SeqJC External Procurement IS-A-JIT
JIT6RF Barcode Handheld 16 x 20 IS-A-JIT
OJIT53 Scheduling Profile SumJCs IS-A-JIT
OJIT54 Determine Storage Location Vendor IS-A-JIT
OJIT55 Number Range Maintenance JITO_HD_01 IS-A-JIT
OJIT56 Number Range Maintenance PABHD IS-A-JIT
OJIT57 Number Range Maintenance JITO_DLCN IS-A-JIT
OJIT58 JIT Outbound: Actions IS-A-JIT
OJIT59 JIT Outbound: Processing Statuses IS-A-JIT
OJIT60 JIT Outbound: Action Control IS-A-JIT
OJIT61 JIT Outbound: Number Range Maintenance IS-A-JIT
OJIT62 Vendor-specific Number Ranges IS-A-JIT
OJIT63 Barcode Qualifier JIT Outbound IS-A-JIT
OJIT64 JIT Call Profile IS-A-JIT
JITMAT Create Material Table from SchedAgmt IS-A-JIT
JITLOG Display Action Log IS-A-JIT
OJIT21 Number Range Maintenance: JIT_GR_01 IS-A-JIT
JITOAL JIT Outbound: Alerting IS-A-JIT
OJIT13 Maintenance Dialog SumJC Settings IS-A-JIT
OJIT15 Number Range Maintenance IS-A-JIT
OJIT16 Number Range Maintenance: JIT_HD_01 IS-A-JIT
OJIT17 Number Range Maintenance: JIT_IT_01 IS-A-JIT
OJIT18 Number Range Maintenance: JIT_MA_01 IS-A-JIT
JITOTL Tolerance maintenance for delivery IS-A-JIT
OJIT51 Replenishm Strat. SumJC Stk Transf. IS-A-JIT
OJIT22 JIT: Assign Operator Tasks IS-A-JIT
OJIT23 JIT: Activate Event Linkage IS-A-JIT
OJIT24 Profile Delivery Creation (JIT) IS-A-JIT
OJIT25 JIT: Maintenance Dialog Reference Numbers IS-A-JIT
OJIT26 Maintenance of HU Profile IS-A-JIT
JITXML XML Upload of Calls IS-A-JIT
JIT7RF Barcode (Specified) Handheld 16 x 20 IS-A-JIT
OJIT50 Replenishment Strategy SumJCs IS-A-JIT
JITOXML XML-Download of Calls IS-A-JIT
JITEMRA Emergency Creation of Bundled SumJCs IS-A-JIT
JITLOGDEL Delete Action Logs IS-A-JIT