cancel
Showing results for 
Search instead for 
Did you mean: 

Availability check (ATP) Function module !

Chris_Schutz
Active Participant
0 Kudos

Hi,

I need to simulate the ATP , what Availability check (ATP) Function module can I use in order to retrive the ATP quantity for a given material and plant ?

Thank you

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I see below info from other forum/site. may be you can take a look.

function modules BAPI_MATERIAL_AVAILABILITY, LE_ATP_CHECK_SINGLE, and SSF_KRN_ENVELOPE

BAPI_MATERIAL_AVAILABILITY

---

This BAPI returns the Available quantity.

The code given below shows how to call this BAPI. The import parameters of this BAPI are

Material

Plant

Unit

---

REPORT ZEX_AVAILIBILITYCHK .

Parameter: p_matnr like BAPIMATVP-MATNR,

p_werks like BAPIMATVP-WERKS,

p_unit like BAPIADMM-UNIT.

*Data: int_wmdvsx like BAPIWMDVS occurs 0 with header line,

  • int_wmdvex like BAPIWMDVE occurs 0 with header line.

Data: int_wmdvsx type table of bapiwmdvs with header line,

int_wmdvex type table of bapiwmdve with header line,

d_WKBST like BAPICM61V-WKBST.

CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'

EXPORTING

PLANT = p_werks

MATERIAL = p_matnr

UNIT = p_unit

  • CHECK_RULE =

  • STGE_LOC =

  • BATCH =

  • CUSTOMER =

  • DOC_NUMBER =

  • ITM_NUMBER =

  • WBS_ELEM =

  • STOCK_IND =

  • DEC_FOR_ROUNDING =

  • DEC_FOR_ROUNDING_X =

  • READ_ATP_LOCK =

  • READ_ATP_LOCK_X =

IMPORTING

  • ENDLEADTME =

AV_QTY_PLT = d_WKBST

  • DIALOGFLAG =

  • RETURN =

TABLES

WMDVSX = int_wmdvsx

WMDVEX = int_wmdvex

.

Write:/ d_WKBST.

If sy-subrc = 0.

endif.

Former Member
0 Kudos

my code is

********************

SET DEFAULT TO e:\sap_INT

SET EXCL OFF

SET STRICTDATE TO 0

SET DELE ON

CLOSE DATA

PRIVATE T_PRG

T_PRG=PADR(PROGRAM(),8)

*DISP STATUS "Connecting to SAP R/3..."

Functions = CREATEOBJECT("SAP.Functions")

Functions.CONNECTION.ApplicationServer ='10.25.0.66'

Functions.CONNECTION.SYSTEM = '00'

Functions.CONNECTION.tracelevel=6

*Functions.CONNECTION.SystemNumber = 6

Functions.CONNECTION.client = '400'

Functions.CONNECTION.USER = 'P10021331'

Functions.CONNECTION.PASSWORD = 'P@ssword4'

Functions.CONNECTION.language = 'EN'

IF Functions.CONNECTION.Logon(0,.f.)=.f. Then

RETURN

ENDIF

RfcCallTransaction = Functions.ADD("BAPI_MATERIAL_AVAILABILITY")

RfcCallTransaction.call

RfcCallTransaction.Exports("plant")="5001"

RfcCallTransaction.Exports("material")="2000269665"

RfcCallTransaction.Exports("unit")="M"

RfcCallTransaction.Exports("STGE_LOC")="C001"

RfcCallTransaction.imports("endleadtme") = "endleadtme"

RfcCallTransaction.imports("av_qty_plt") =

RfcCallTransaction.imports("dialogflag") = "dialogflag"

RfcCallTransaction.tables.Item("WMDVEX")

objtable=RfcCallTransaction.tables("WMDVEX")

readtext = functions.Add("RFC_READ_TEXT")

Tableobj = readtext.tables.Item("TEXT_LINES")

RfcCallTransaction.tables.Item("WMDVSX")

objtable1=RfcCallTransaction.tables("WMDVSX")

readtext1 = functions.Add("RFC_READ_TEXT")

Tableobj1 = readtext1.tables.Item("TEXT_LINES")

*RfcCallTransaction.tables.Item("AV_QTY_PLT")

objtable2=RfcCallTransaction.text("AV_QTY_PLT")

*readtext2 = functions.Add("RFC_READ_TEXT")

*Tableobj2 = readtext2.tables.Item("TEXT_LINES")

?objtable.rowcount,objtable1.rowcount,objtable2.rowcount

?objtable.ColumnCount,objtable1.ColumnCount,objtable2.ColumnCount

Create table ('E:\SAP_INT\co_code') ; &&Change as required

(a1 C(100),a2 C(100),a3 c(100),a4 c(100),a5 c(100),a6 c(100),a7 c(100),a8 char(100),;

a9 C(100),a10 C(100),a11 c(100),a12 c(100),a13 c(100),a14 t,a15 c(100),a16 char(100),;

a17 C(100),a18 C(100),a19 c(100),a20 c(100),a21 c(100),a22 c(100),a23 c(100),a24 char(100),;

a25 C(100),a26 C(100),a27 c(100),a28 c(100),a29 c(100),a30 c(100),a31 c(100),a32 char(100),;

a33 C(100),a34 C(100),a35 c(100),a36 c(100),a37 c(100),a38 c(100),a39 c(100),a40 char(100),;

a41 C(100),a42 C(100),a43 c(100),a44 c(100),a45 c(100),a46 c(100),a47 c(100),a48 char(100),;

a49 C(100),a50 C(100),a51 c(100),a52 c(100),a53 c(100),a54 c(100),a55 c(100),a56 char(100),;

a57 C(100),a58 C(100),a59 c(100),a60 c(100),a61 c(100),a62 c(100))

IF RfcCallTransaction.call=.t.

FOR i = 1 TO objtable.rowcount

APPEND BLANK

FOR j=1 TO objtable.ColumnCount

mm="a"+ALLTRIM(STR(j))

clear

?objtable.cell(i,j)

replace &mm WITH objtable.cell(i,j)

endfor

ENDFOR

endif

****************

pls help meto correct ,

i want free stock for said material,

am i on the right track

Answers (1)

Answers (1)

Former Member
0 Kudos

Try BAPI_MATERIAL_AVAILABILITY.

Edited by: Rags on Mar 26, 2010 10:05 AM

Edited by: Rags on Mar 26, 2010 10:10 AM

Former Member
0 Kudos

Hi Rags,

Output which come from BAPI-BAPI_MATERIAL_AVAILABILITY can be commit.

I want to commit the output of above FM in sales oder.Please guide me.

Thanks in advance

Jalaj