QMAT and MKAL
Hi all,
I am using the bapi_material_savedata to create or update the material.
I need to update the QMat and MKAL table fields.
(qmat-art,qmat-aktiv,mkal-verid)
I dont know which view contains these fields.
I dont know which fields refer in the bapi.
Anybody can help me
Thanks & Regards
S.Shankar
QMAT
You can try BAPI_MATINSPCTRL_SAVEREPLICA
Similar Messages
-
Problem while creating a ABAP Quarry report for material master
Hi Friend,
While I am trying to create a Quarry, certain warning message is coming and while I am executing single material is coming too many times in report with all currencies.
Picking the data from Table: MARA, MARC, MARD, MAKT, MBEW, QMAT, AND T001 (FOR Currencies only).
I need your help to clarify 2 point:
Where I should assign the table with whom as I have simply selected the table one by one assigned button clicked.
2nd How and from which Table currencies could picked as here said warning is coming and a single material is coming multiple times with all currencies in report.
I have used as SQ03 then SQ02 and finally SQ01u2026..else I have checked the same in SQVI, but still I didnu2019t get any such fruitful.
Filed Description List Display Screen Display Table u2013 Field
Plant X X MARC Material Code X X MARA
Storage Location X X MARD Storage Condition X X MARA - RAUBE
Material Type X MARA
Old Material No X MARA - BISMT Material Description X MAKT Base Unit of Measurement X MARA - MEINS
Material Price (Moving) X MBEW Material Price (Standard) X MBEW
Valuation Class X MBEW -BKLAS
Inspection Type X QMAT - ART Currency Key X T001 -WARES
Rest of the field I have not written as you are aware about that .
Pl suggest or help me to prepare the doc in screen shot, will have a great help from you end.
Regards,
PinkuDear Vijay,
I have done the same as per your earlier, but for picking th ecurrency in display, I have given Table T001, whether it is o.k. or else what? Wheneven I am trying by th esam eway, system is poping a warning message and then it's executing , but displaying all the materials with all currecies means a single material is coming too amny times with all currecy, so I need to pick extact one and for that if you could do andcan send me a screen shot more helpful to me.
Thanks.
jbs.sap.mm at the rate of hotmail.com
Pinku -
Need help on prodution line.
Hi Friends,
i am getting the Prodution line by using table (MKAL) based on the material in planning table(PLAF).
but the problem here is if i have 2 plannd orders with same material on different prodution line . i am unnable to get exact prodution line for that planned order.
what my select statement in abap is doing it picking up the the first prodution line and adding up all the quatities of that material.
i need some field in some table which changes with planned order and by which i can pick the prodution line accordingly.
i am getting wrong data when i'm linking plaf-matnr = mkal-matnr.
hope u under stand my requirement.
thank you very much...for looking at this thread.
kat..their is a field verid in both table plaf and mkal. we can relate that
-
Regarding ALV selection screen
hi all,
my issue:
i have an alv report which has almost 10 paramters based on which the internal table will be populated. the two parameters are mandatory .. 4 are select options and 4 are radiobuttons. i think this will lead to a lot of select queries.
i was wondering if there is any way we can minimize the no. of select query.
also would like to know if ranges table can work in such a scenario.
9 fields are from table pLAF and two are from MARA and MKAL respectively
please advice.
thanks in advance
SrinivasHi,
For select-options,You dont have to check whether that field is initial or not.So For 4 select-options, u can use one select query.2 parameter field is also mandatory so you dont have to check those 2 field is intial or not.U got to put 4 if condition for 4 radio buttons.
Eg:
If rd_1 = 'X'.
select field1 field1 from <table1> into table where field1 = p_param1
and field2 = p_param2
and field3 in s_selop1
and field4 in s_selop2
and field5 in s_selop3
and field6 in s_selop4.
elseif rd_2 = 'X'.
select field1 field1 from <table2> into table where field1 = p_param1
and field2 = p_param2
and field3 in s_selop1
and field4 in s_selop2
and field5 in s_selop3
and field6 in s_selop4.
elseif rd_3 = 'X'.
select field1 field1 from <table3> into table where field1 = p_param1
and field2 = p_param2
and field3 in s_selop1
and field4 in s_selop2
and field5 in s_selop3
and field6 in s_selop4.
elseif rd_4 = 'X'.
select field1 field1 from <table4> into table where field1 = p_param1
and field2 = p_param2
and field3 in s_selop1
and field4 in s_selop2
and field5 in s_selop3
and field6 in s_selop4.
endif. -
MB_CREATE_GOODS_MOVEMENT and BAPI_GOODSMVT_CREATE
Hello all,
Ive been asked to modify a program to create inspection lots. The change involved adding a prompt to supply the serial numbers for the parts to be moved to inspection.
Previously it was using MB_CREATE_GOODS_MOVEMENT but try as I may, there appeared to be no means of adding the serial numbers. There is a flag for automaticly generating serial numbers but this would not work (The items already have serial numbers anyway.....the user identifies them)
So I substituted MB_CREATE_GOODS_MOVEMENT with BAPI_GOODSMVT_CREATE and added a table of serial numbers. This worked, giving the mesages Id expect if the user entered an invalid number or one that had already been assigned.
Document numbers produced and the BAPI works.
However, the next step of the program uses 'QPL1_LOT_GET_BY_TABIX_NO' to get the insprecton lot number from memory. I can only assume that this number is written by MB_CREATE_GOODS_MOVEMENT because I find no reference anywhere else.
The BAPI does not seem to do this even though MB_CREATE_GOODS_MOVEMENT is part of its code (the mysteries of SAP!)
The CTCOD (txn code) in the FM was 'MB11' and Ive used '06' as the movement code in the BAPI.
Nothing is going to post without the inspection lot number. Can anyone tell me how this number is generated (and why is it written to memory?)
Many thanks in advanceThis is the code I used to resolve the issue. This code AFTER the BAPI_GOODSMVT_CREATE
1) Create a lot number
2) Write it to memory (I dont know why it has to do this)
3) Extract from memory.
CALL FUNCTION 'QPL1_INITIALIZE'
EXPORTING
i_lot_data_only = 'X'.
DATA: wa_qals_imp TYPE qals,
wa_rmqed_imp TYPE rmqed,
lv_qplos TYPE qplos,
wa_qals TYPE qals,
lv_subrc TYPE sy-subrc.
CLEAR: wa_qals_imp, wa_rmqed_imp, lv_qplos, wa_qals, lv_subrc.
wa_qals_imp-mandant = sy-mandt.
wa_qals_imp-werk = l_imseg-werks.
wa_qals_imp-werkvorg = l_imseg-werks.
wa_qals_imp-matnr = l_imseg-matnr.
wa_qals_imp-lifnr = l_imseg-lifnr.
wa_qals_imp-art = 'XXXXXX'. "This should be in table QMAT...See below
wa_qals_imp-ebeln = g_imp_ebeln.
wa_qals_imp-ebelp = g_imp_ebelp.
wa_qals_imp-charg = viqmel-charg.
wa_qals_imp-herkunft = '08'. "01
wa_qals_imp-stat01 = 'X'.
wa_qals_imp-losmenge = viqmel-rkmng.
wa_qals_imp-mengeneinh = 'EA'.
MOVE '01' TO wa_rmqed_imp-dbs_steuer.
MOVE 'X' TO wa_rmqed_imp-dbs_flag.
MOVE 'X' TO wa_rmqed_imp-dbs_nochg.
MOVE 'X' TO wa_rmqed_imp-dbs_nowrn.
MOVE ' ' TO wa_rmqed_imp-dbs_noerr.
Create a Lot number
CALL FUNCTION 'QPL1_INSPECTION_LOT_CREATE'
EXPORTING
qals_imp = wa_qals_imp
rmqed_imp = wa_rmqed_imp
IMPORTING
e_prueflos = lv_qplos
e_qals = wa_qals_imp
subrc = lv_subrc.
If a lot number has been created then lv_subrc will be < 8
IF lv_subrc LT 8.
CALL FUNCTION 'QPL1_UPDATE_MEMORY'
EXPORTING
i_qals = wa_qals_imp
i_updkz = 'I'.
ENDIF.
get insp. lot number
CALL FUNCTION 'QPL1_LOT_GET_BY_TABIX_NO'
EXPORTING
i_tabix = '1'
IMPORTING
e_qals = g_qals
EXCEPTIONS
x_no_entry_in_memory = 1
x_tabix_too_small = 2
x_tabix_too_big = 3
OTHERS = 4.
IF sy-subrc = 0.
IF ( g_qals-matnr = viqmel-matnr )
AND ( g_qals-werk = viqmel-mawerk ).
g_notification_not_saved = c_kreuz.
MOVE g_qals-objnr TO g_insplot_objnr.
MOVE g_qals-prueflos TO viqmel-prueflos.
MOVE g_qals-prueflos TO e_qnqmaqmel0-prueflos.
ENDIF.
ELSE.
MESSAGE i162(qm).
RAISE action_stopped.
ENDIF.
*wa_qals_imp-art
This is the inspection type (ART) you get from table QMAT.
Took a while to get this solution working and I know a number of people looking for an answer to this......Hope it helps. -
What are the most important tables in SD, MM, PP, FI , CO and QM?
Hi all,
What are the most important tables in SD, MM, PP, FI , CO and QM? i.e. most used.
Thanks,
Charles.
+++++++++++++++++<b>In FI:</b>
BKPF Accounting documents (Header)
BSEG Item level
BSID Accounting: Secondary index for customers
BSIK Accounting: Secondary index for vendors
BSIM Secondary Index, Documents for Material
BSIP Index for vendor validation of double documents
BSIS Accounting: Secondary index for G/L accounts
BSAD Accounting: Index for customers (cleared items)
BSAK Accounting: Index for vendors (cleared items)
BSAS Accounting: Index for G/L accounts (cleared items)
<b>In SD:</b>
VBAK Header data
VBAP Item data
VBPA Partners in sales order
VBKD Sales district data
VBEP Data related to line items, delivery lines
VBRK header data
VBRP Item data
LIKP Delivery header
LIPS Delivery item
VTTK Shipment header
VTTP Shipment item
VTTS Stage in transport
VTSP Stage in transport per shipment item
VTPA Shipment partners
VEKP Handling Unit - Header Table
VEPO Packing: Handling Unit Item (Contents)
<b>In MM:</b>
EKKO Purchase document
EKPO Purchase document (item level)
EKPV Shipping-Specific Data on Stock Tfr. for Purch. Doc. Item
EKET Delivery schedule
VETVG Delivery Due Index for Stock Transfer
EKES Order Acceptance/Fulfillment Confirmations
EKKN Account assignment in purchasing
EKAN Vendor address purchasing
EKPA Partner functions
EIPO Item export / import data
EINA Purchase info record (main data)
EINE Purchase info record (organisational data)
EORD Source list
EBAN Purchase requisition
EBKN Purchase Requisition Account Assignment
MKPF material document
MSEG material document (item level)
MARA Material master
MAKT Material text
MARC Material per plant / stock
MVKE Material master, sales data
MARD Storage location / stock
MSKA Sales order stock
MSPR Project stock
MARM Units of measure
MEAN International article number
PGMI Planning material
PROP Forecast parameters
MAPR Link MARC <=> PROP
MBEW Material valuation
MVER Material consumption
MLGN Material / Warehouse number
MLGT Material / Storage type
MPRP Forecast profiles
MDTB MRP table
MDKP Header data for MRP document
MLAN Tax data material master
MTQSS Material master view: QM
<b>In QM:</b>
QALS Inspection lot record
QAMB Link inspection lot - material document
QAVE Inspection usage decision
QDPS Inspection stages
QMAT Inspection type - material parameters
QINF Inspection info record (vendor - material)
QDQL Quality level
QDPS Inspection stages
<b>In PP:</b>
AUFK Production order headers
AFIH Maintenance order header
AUFM Goods movement for prod. order
AFKO Order header data PP orders
AFPO Order item
RESB Order componenten
AFVC Order operations
AFVV Quantities/dates/values in the operation
AFVU User fields of the operation
AFFL Work order sequence
AFFH PRT assignment data for the work order(routing)
JSTO Status profile
JEST Object status
AFRU Order completion confirmations -
What is the diffreence between call transaction and session method
hi gurus
can any one suggest me
what is the difference between call transaction and session methods
in which cases we have to use teh call transaction and
in which cases we have to use session method.
thank you
regards
kals.CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
This method is also called as ‘CLASSICAL METHOD’.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
Among the two methods call transaction is better compared to session bcoz data transfer is faster in it.
Differences between call transaction and session.
Session Method:
1) Data is not updated in the database table until the session is processed.
2) No sy-subrc is returned.
3) Error log is created for error records.
4) Updation is always synchronous.
Call Transaction Method:
1) Immediate updation in the database table.
2) sy-subrc is returned.
3)Error need to be handled explicitly.
4) updation can be synchronous as well as asynchronous.
2) ya u can use using the N mode no screen.
3)u can't handle multiple transaction in call transaction.
4) u can handle multiple transaction in session using the BDC_INSERT fm.
5)When u go to SM35 u can able to see the error records.
Which is best?
That depends on your requirement. Both of them have there advantages.
According to the situation u can choose any one of these.
difference between batch input and call transaction in BDC Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
For session method,these are the function modules to b used.
BDC_OPEN_GROUP
BDC_INSERT
BDC_CLOSE_GROUP
For call transaction,this is the syntax.
CALL TRANSACTION TCODE USING BDCDATA
MODE A or E or N
UPDATE A or S
MESSAGES INTO MESSTAB.
Take a scenario where we need to post documents in FB01 and the input file has say 2000 records (2000 documents, not line items in FB01 but 2000 records)
In the BDC call transaction method
We call the transaction FB01 2000 times (once for each record posting) and if the processing fails in record no 3 it can be captured and start with reocord 4.
Eg: Loop at itab.
call transaction FB01
capture errors
endloop.
In the session method.
We do not explicity call the transaction 2000 times, but all the records are appeneded into a session and this session is stored. The processinf of the session is done wwhenever the user wants it to be done. Hence the errors cannot be captured in the program itself
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
Batch Input Session method is asynchronous as told by others here. But the advantage of this is that you have all the error messages and the data for each transaction held persistantly. You don't have to code anything for processing them or writing the logs.
But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the session are created in the program and its execution is done seperately, you loose the trackability of such transactions.
With a call transaction, what was a disadvantage above will become an advantage. Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load. Of course, you have some mechanisms with which you can overcome this, but you will have to code for it. Also, storing the messages and storing the errored transaction data etc will have to be handled by you in the program. Whereas, in batch input session, your program's job is to just create the session, after that everything is standard SAP system's responsibility.
Ideally, you should do a call transaction if the resources are not a problem and if it fails, put the errored transaction into a session.
You can decide based on the data volume that your BDC is processing. If data volume is high go for session else call transaction will do.The call transaction updates will be instantaneous where as session needs to be processed explictly after creation.
Session Method
1) Session method supports both small amount of data aswell as large amount of data
2) data processing is asynchronus and data updation is synchronus.
3) it process multiple apllication while perfomaning validations.
4) in session method data will be updated in data base only after processing session only.
5) system provide by default logfile for handling error records.
6) it supports both foreground aswell as background process
in bdc we use FM ...
bdc_open_group " for creating Session
bdc_insert " adding transaction and bdcdata table for updating database
bdc_close_group " for closing Session
Call Transaction
1) Call transaction exclusively for small amout of data
2) it supports only one apllication while perfoming validations
3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records.
we can create logfile by using structure....BDCMSGCOLL
4) it doesn't support background processing.
5) data processing is synchronous and Data updation is Synchronous( default), in
this method also supports daya updation in asynchronus process also.
syntax:
Call transaction <transaction-name> using BDCDATA
mode <A/N/E>
update <L/A/S>
messages into BDCMSGCOLL.
BDC:
Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
Features :
BDC is an automatic procedure.
This method is used to transfer large amount of data that is available in electronic medium.
BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
BDC uses normal transaction codes to transfer data.
Types of BDC :
CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
This method is also called as ‘CLASSICAL METHOD’.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
call Transaction or session method ?
Check the following links:
http://www.sap-img.com/bdc.htm
See below example code :
Call three FM : BDC_OPEN_GROUP,BDC_INSERT and BDC_CLOSE_GROUP.
Once you execute the program and it creates the session at SM35 Transaction.
Report : ZMPPC011
Type : Data upload
Author : Chetan Shah
Date : 05/05/2005
Transport : DV3K919557
Transaction: ??
Description: This ABAP/4 Program creates new Production Versions
(C223). It accepts tab-delimited spreadsheet input and
creates BDC sessions.
Modification Log
Date Programmer Request # Description
06/10/2005 Chetan Shah DV3K919557 Initial coding
report zmppc011 no standard page heading line-size 120 line-count 55
message-id zz.
pool of form routines
include zmppn001.
Define BDC Table Structure
data: begin of itab_bdc_tab occurs 0.
include structure bdcdata.
data: end of itab_bdc_tab.
Input record layout of Leagcy File
data: begin of itab_xcel occurs 0,
matnr(18) type c,
werks(4) type c,
alnag(2) type c,
verid(4) type c,
text1(40) type c,
bstmi like mkal-bstmi,
bstma like mkal-bstma,
adatu(10) type c,
bdatu(10) type c,
stlal(2) type c,
stlan(1) type c,
serkz(1) type c,
mdv01(8) type c,
elpro(4) type c,
alort(4) type c,
end of itab_xcel.
data: begin of lt_pp04_cache occurs 0,
matnr like itab_xcel-matnr,
werks like itab_xcel-werks,
alnag like itab_xcel-alnag,
plnnr like mapl-plnnr,
arbpl like crhd-arbpl,
ktext like crtx-ktext,
end of lt_pp04_cache.
data: v_ssnnr(4) type n,
v_lines_in_xcel like sy-tabix,
v_ssnname like apqi-groupid,
v_trans_in_ssn type i,
wa_xcel LIKE itab_xcel,
l_tabix like sy-tabix,
v_matnr like rc27m-matnr,
v_plnnr like mapl-plnnr,
v_plnal like mapl-plnal,
v_tcode like sy-tcode value 'C223',
v_plnty like plas-plnty value 'R',
v_objty like crhd-objty value 'A',
v_plpo_steus like plpo-steus value 'PP04',
v_verwe like crhd-verwe value '0007'.
Parameters
selection-screen: skip 3.
selection-screen: begin of block 1 with frame.
parameters: p_name like rlgrap-filename
default 'C:\My Documents\InputFile.txt'
obligatory,
bdc session name prefix
p_bdcpfx(6) default 'ZPVCRT'
obligatory,
number for transction per BDC session
p_trnssn type i
default 2000 obligatory,
retain the BDC session after successfull execution
p_keep like apqi-qerase
default 'X',
user who will be executing BDC session
p_uname like apqi-userid
default sy-uname
obligatory.
selection-screen: end of block 1.
possible entry list (F4 dropdown) for input file name
at selection-screen on value-request for p_name.
*-SELECT FILE FROM USERS LOCAL PC
call function 'WS_FILENAME_GET'
exporting
DEF_FILENAME = ' '
def_path = 'C:\Temp\'
mask = ',.,..'
mode = 'O'
title = 'Select File '(007)
importing
filename = p_name
RC =
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
begin the show
start-of-selection.
read data from input file
perform transfer_xcel_to_itab.
loop at itab_xcel.
hang on to xcel line num
l_tabix = sy-tabix.
each line in the xcel file marks begining of new prod.version defn
if num-of-trnas-in-session = 0, create new BDC session
if v_trans_in_ssn is initial.
perform bdc_session_open.
endif.
begin new bdc script for rtg create trans
fill in bdc-data for prod.version maintenance screens
perform bdc_build_script.
insert the bdc script as a BDC transaction
perform bdc_submit_transaction.
keep track of how many BDC transactions were inserted in the BDC
session
add 1 to v_trans_in_ssn.
if the user-specified num of trans in BDC session is reached OR
if end of input file is reached, close the BDC session
if v_trans_in_ssn = p_trnssn or
l_tabix = v_lines_in_xcel.
perform bdc_session_close.
clear v_trans_in_ssn.
endif.
endloop.
top-of-page.
call function 'Z_HEADER'
EXPORTING
FLEX_TEXT1 =
FLEX_TEXT2 =
FLEX_TEXT3 =
FORM TRANSFER_XCEL_TO_ITAB *
Transfer Xcel Spreadsheet to SAP Internal Table *
form transfer_xcel_to_itab.
Read the tab-delimited file into itab
call function 'WS_UPLOAD'
exporting
filename = p_name
filetype = 'DAT'
IMPORTING
filelength = flength
tables
data_tab = itab_xcel
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
others = 8.
if sy-subrc = 0.
sort the data
sort itab_xcel by matnr werks.
clear v_lines_in_xcel.
if no data in the file - error out
describe table itab_xcel lines v_lines_in_xcel.
if v_lines_in_xcel is initial.
write: / 'No data in input file'.
stop.
endif.
else.
if file upload failed - error out
write: / 'Error reading input file'.
stop.
endif.
endform.
FORM BDC_SESSION_OPEN *
Open BDC Session *
form bdc_session_open.
create bdc session name = prefix-from-selectn-screen + nnnn
add 1 to v_ssnnr.
concatenate p_bdcpfx v_ssnnr into v_ssnname.
open new bdc session
call function 'BDC_OPEN_GROUP'
exporting
client = sy-mandt
group = v_ssnname
keep = p_keep
user = p_uname
exceptions
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
others = 11.
endform.
FORM BDC_BUILD_SCRIPT *
Build BDC *
form bdc_build_script.
data: l_arbpl like crhd-arbpl,
l_text1 like mkal-text1,
l_mdv01 like mkal-mdv01,
l_mapl like mapl.
clear bdc-data itab - begin of new bdc transaction
clear itab_bdc_tab.
refresh itab_bdc_tab.
read material cross reference tables to determine sap part#
clear : v_matnr, v_plnnr, v_plnal.
perform read_matnr_cross_ref using itab_xcel-matnr
itab_xcel-werks
changing v_matnr.
determine the version description to use
if itab_xcel-text1 is initial.
l_text1 = itab_xcel-verid.
else.
l_text1 = itab_xcel-text1.
endif.
determine the routing group# and group ctr# to use
perform read_routing .
determine the production line to use
if itab_xcel-mdv01 is initial.
if not provided in the file then:
prod line = work ctr on the last PP04 op of the rtg determined above
perform read_wc_on_last_pp04 using v_plnnr v_plnal
changing l_mdv01.
NOTE: when executing the above form\routine, if v_plnnr is initial
or v_plnal is initial, THEN l_mdv01 will automatically be
returned blank (ie initial)
else.
l_mdv01 = itab_xcel-mdv01.
endif.
build bdc script
perform bdc_build_script_record
fill in initial screen
using: 'X' 'SAPLCMFV' '1000',
' ' 'BDC_OKCODE' '=ENTE',
' ' 'MKAL-WERKS' itab_xcel-werks,
' ' 'MKAL-MATNR' v_matnr,
' ' 'MKAL_ADMIN-DISPO' space,
' ' 'MKAL-PLNNR' space,
' ' 'MKAL_ADMIN-STTAG' space,
' ' 'MKAL-PLNNG' space,
' ' 'MKAL-MDV01' space,
' ' 'MKAL-PLNNM' space,
click create button on initial screen and go to detail screen
'X' 'SAPLCMFV' '1000',
' ' 'BDC_OKCODE' '=CREA',
fill in the detail screen and go back to initial screen
'X' 'SAPLCMFV' '2000',
' ' 'BDC_OKCODE' '=CLOS',
' ' 'MKAL_EXPAND-MATNR' v_matnr,
' ' 'MKAL_EXPAND-VERID' itab_xcel-verid,
' ' 'MKAL_EXPAND-TEXT1' l_text1,
' ' 'MKAL_EXPAND-BSTMI' itab_xcel-bstmi,
' ' 'MKAL_EXPAND-BSTMA' itab_xcel-bstma,
' ' 'MKAL_EXPAND-ADATU' itab_xcel-adatu,
' ' 'MKAL_EXPAND-BDATU' itab_xcel-bdatu,
' ' 'MKAL_EXPAND-PLTYG' v_plnty,
' ' 'MKAL_EXPAND-PLNNG' v_plnnr,
' ' 'MKAL_EXPAND-ALNAG' v_plnal,
' ' 'MKAL_EXPAND-STLAL' itab_xcel-stlal,
' ' 'MKAL_EXPAND-STLAN' itab_xcel-stlan,
' ' 'MKAL_EXPAND-SERKZ' itab_xcel-serkz,
' ' 'MKAL_EXPAND-MDV01' l_mdv01,
' ' 'MKAL_EXPAND-ELPRO' itab_xcel-elpro,
' ' 'MKAL_EXPAND-ALORT' itab_xcel-alort,
save the production version from initial screen
'X' 'SAPLCMFV' '1000',
' ' 'BDC_OKCODE' '=SAVE'.
endform.
FORM BDC_SUBMIT_TRANSACTION *
Submit BDC Session *
form bdc_submit_transaction.
Load BDC script as a trqansction in BDC session
call function 'BDC_INSERT'
exporting
tcode = v_tcode
tables
dynprotab = itab_bdc_tab
exceptions
internal_error = 01
not_open = 02
queue_error = 03
tcode_invalid = 04.
endform.
FORM BDC_BUILD_SCRIPT_RECORD *
form bdc_build_script_record using dynbegin name value.
clear itab_bdc_tab.
if dynbegin = 'X'.
move: name to itab_bdc_tab-program,
value to itab_bdc_tab-dynpro,
'X' to itab_bdc_tab-dynbegin.
else.
move: name to itab_bdc_tab-fnam,
value to itab_bdc_tab-fval.
shift itab_bdc_tab-fval left deleting leading space.
endif.
append itab_bdc_tab.
endform.
FORM BDC_SESSION_CLOSE *
Close BDC Session *
form bdc_session_close.
close the session
call function 'BDC_CLOSE_GROUP'
exceptions
not_open = 1
queue_error = 2
others = 3.
skip 2.
if sy-subrc ne 0.
write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
else.
write : / 'Session created:', v_ssnname,
50 '# of transactions:', v_trans_in_ssn.
endif.
endform.
*& Form read_routing_cache
*FORM read_routing_cache USING pi_matnr
pi_werks
pi_alnag
pi_verid
pi_mdv01.
DATA: BEGIN OF lt_plpo OCCURS 0,
vornr LIKE plpo-vornr,
objty LIKE crhd-objty,
objid LIKE crhd-objid,
arbpl LIKE crhd-arbpl,
END OF lt_plpo,
l_mapl_plnnr LIKE mapl-plnnr.
determine the routing group#
CLEAR lt_pp04_cache.
chk if its in the cache first, if not then get it from MAPL table
and put it in the cache
READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
IF sy-subrc = 0.
do nothing - lt_pp04_cache header line has rtg#
ELSE.
get the routing group # from MAPL
SELECT plnnr INTO l_mapl_plnnr
FROM mapl UP TO 1 ROWS
WHERE matnr = pi_matnr AND
werks = pi_werks AND
plnty = 'R' AND
plnal = pi_alnag AND
loekz = space.
ENDSELECT.
put it in the cache internal table
IF NOT l_mapl_plnnr IS INITIAL.
lt_pp04_cache-matnr = pi_matnr.
lt_pp04_cache-werks = pi_werks.
lt_pp04_cache-alnag = pi_alnag.
lt_pp04_cache-plnnr = l_mapl_plnnr.
APPEND lt_pp04_cache.
ENDIF.
ENDIF.
if the rtg# was determined AND
the work center was not determined yet AND
work center was really needed for this line in the input file
then
read the work center from last PP04 operation on the routing
update the cache accordingly
IF NOT lt_pp04_cache-plnnr IS INITIAL AND
lt_pp04_cache-arbpl IS INITIAL AND
( pi_verid IS INITIAL OR
pi_mdv01 IS INITIAL ).
read the last PP04 operation
CLEAR lt_plpo.
REFRESH lt_plpo.
SELECT vornr eobjty eobjid e~arbpl
INTO CORRESPONDING FIELDS OF TABLE lt_plpo
FROM plas AS b
INNER JOIN plpo AS c
ON bplnty = cplnty AND
bplnnr = cplnnr AND
bzaehl = czaehl
INNER JOIN crhd AS e
ON carbid = eobjid
WHERE b~plnty = v_plnty AND
b~plnnr = lt_pp04_cache-plnnr AND
b~plnal = lt_pp04_cache-alnag AND
c~loekz = space AND
c~steus = v_plpo_steus AND
e~objty = v_objty AND
e~werks = lt_pp04_cache-werks AND
e~verwe = v_verwe.
SORT lt_plpo BY vornr DESCENDING.
READ TABLE lt_plpo INDEX 1.
IF NOT lt_plpo-arbpl IS INITIAL.
lt_pp04_cache-arbpl = lt_plpo-arbpl.
read work center description
SELECT SINGLE ktext INTO lt_pp04_cache-ktext
FROM crtx WHERE objty = lt_plpo-objty AND
objid = lt_plpo-objid AND
spras = sy-langu.
the following read will get the index of the correct record to be
updated in the cache
READ TABLE lt_pp04_cache
WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
MODIFY lt_pp04_cache
INDEX sy-tabix
TRANSPORTING arbpl ktext.
ENDIF.
ENDIF.
*ENDFORM. " read_last_pp04_operation_cache
*& Form read_routing
form read_routing.
data: begin of lt_mapl occurs 0,
plnnr like mapl-plnnr,
plnal like mapl-plnal,
end of lt_mapl,
l_arbpl like crhd-arbpl.
get all the rtg# and grp ctr# from MAPL
select plnnr plnal
into corresponding fields of table lt_mapl
from mapl
where matnr = v_matnr and
werks = itab_xcel-werks and
plnty = v_plnty and "Rate Routing
loekz = space. "with del flag = OFF
sort lt_mapl by plnal.
if not itab_xcel-verid is initial.
if the verid=0001 then use the 1st good rtg-grp# and grp-ctr#
if itab_xcel-verid = '0001'.
read table lt_mapl index 1.
v_plnnr = lt_mapl-plnnr.
v_plnal = lt_mapl-plnal.
else.
if the verid0001 then use the rtg-grp# and grp-ctr# of the routing
whose work center on the last PP04 operation matches the given verid
loop at lt_mapl.
clear l_arbpl.
get the work center from the last PP04 operation
perform read_wc_on_last_pp04 using lt_mapl-plnnr
lt_mapl-plnal
changing l_arbpl.
if itab_xcel-verid = l_arbpl.
v_plnnr = lt_mapl-plnnr.
v_plnal = lt_mapl-plnal.
exit.
endif.
endloop.
endif.
else.
do nothing
endif.
For version IDs that are other then '0000' or 'ZWIP' :--
if itab_xcel-verid NE '0000' and
itab_xcel-verid NE 'ZWIP'.
if routing group# or group counter was not determined, make the
valid-to date 99/99/9999 so that the BDC, on execution, errors out.
if v_plnnr is initial or
v_plnal is initial.
itab_xcel-bdatu = '99/99/9999'.
endif.
endif.
determine the routing group#
CLEAR lt_pp04_cache.
chk if its in the cache first, if not then get it from MAPL table
and put it in the cache
READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
IF sy-subrc = 0.
do nothing - lt_pp04_cache header line has rtg#
ELSE.
get the routing group # from MAPL
put it in the cache internal table
IF NOT l_mapl_plnnr IS INITIAL.
lt_pp04_cache-matnr = pi_matnr.
lt_pp04_cache-werks = pi_werks.
lt_pp04_cache-alnag = pi_alnag.
lt_pp04_cache-plnnr = l_mapl_plnnr.
APPEND lt_pp04_cache.
ENDIF.
ENDIF.
if the rtg# was determined AND
the work center was not determined yet AND
work center was really needed for this line in the input file
then
read the work center from last PP04 operation on the routing
update the cache accordingly
IF NOT lt_pp04_cache-plnnr IS INITIAL AND
lt_pp04_cache-arbpl IS INITIAL AND
( pi_verid IS INITIAL OR
pi_mdv01 IS INITIAL ).
read the last PP04 operation
CLEAR lt_plpo.
REFRESH lt_plpo.
SELECT vornr eobjty eobjid e~arbpl
INTO CORRESPONDING FIELDS OF TABLE lt_plpo
FROM plas AS b
INNER JOIN plpo AS c
ON bplnty = cplnty AND
bplnnr = cplnnr AND
bzaehl = czaehl
INNER JOIN crhd AS e
ON carbid = eobjid
WHERE b~plnty = v_plnty AND
b~plnnr = lt_pp04_cache-plnnr AND
b~plnal = lt_pp04_cache-alnag AND
c~loekz = space AND
c~steus = v_plpo_steus AND
e~objty = v_objty AND
e~werks = lt_pp04_cache-werks AND
e~verwe = v_verwe.
SORT lt_plpo BY vornr DESCENDING.
READ TABLE lt_plpo INDEX 1.
IF NOT lt_plpo-arbpl IS INITIAL.
lt_pp04_cache-arbpl = lt_plpo-arbpl.
read work center description
SELECT SINGLE ktext INTO lt_pp04_cache-ktext
FROM crtx WHERE objty = lt_plpo-objty AND
objid = lt_plpo-objid AND
spras = sy-langu.
the following read will get the index of the correct record to be
updated in the cache
READ TABLE lt_pp04_cache
WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
MODIFY lt_pp04_cache
INDEX sy-tabix
TRANSPORTING arbpl ktext.
ENDIF.
ENDIF.
endform. " read_last_pp04_operation_cache
*& Form read_wc_on_last_pp04
form read_wc_on_last_pp04 using pi_plnnr
pi_plnal
changing pe_arbpl.
data: begin of lt_plpo occurs 0,
vornr like plpo-vornr,
objty like crhd-objty,
objid like crhd-objid,
arbpl like crhd-arbpl,
end of lt_plpo.
get all the PP04 operations for the given rtg# & grp-ctr#
select vornr eobjty eobjid e~arbpl
into corresponding fields of table lt_plpo
from plas as b
inner join plpo as c
on bplnty = cplnty and
bplnnr = cplnnr and
bzaehl = czaehl
inner join crhd as e
on carbid = eobjid
where b~plnty = v_plnty and "Rate Routing
b~plnnr = pi_plnnr and
b~plnal = pi_plnal and
c~loekz = space and "Oper Del Flag = OFF
c~steus = v_plpo_steus and "PP04
e~objty = v_objty. "WC Obj Type = 'A'
read the last operation
sort lt_plpo by vornr descending.
read table lt_plpo index 1.
pe_arbpl = lt_plpo-arbpl.
endform. " read_wc_on_last_pp04
Goto LSMW-> Select Direct Input method in 1st step. These are the standard programs for data transfer.
Otherwise goto SPRO->SAP Reference IMG-> Under this you'll find standard data transfer programs module wise.
Regards,
Sunil Kumar Mutyala -
can anybody tell hw many QM Tables and T codes are ther in total approx.
and if possible which r imp. one?atleast tables.
thnxDear Sandip,
<b>Important QM Tables</b>
Area Table Description
Master Data QMAT Inspection type - material parameters
Master Data QMHU QM Link Between Inspection Lot and Handling Unit Item
Master Data QMTB Inspection method master record
Master Data QMTT Inspection Method Texts
Master Data QPAC Inspection catalog codes for selected sets
Master Data QPAM Inspection catalog selected sets
Master Data QPMK Inspection characteristic master
Master Data QPMT Master Inspection Characteristics Texts
Master Data QPMZ Assignment table - insp. methods/master insp. characteristic
Master Data TQ01D Authorization groups for QM master data
Master Data TQ01E Text authorization groups for QM master data
Master Data TQ21 Assignment of screens to screen groups
Master Data TQ25 QM:screen sequence for master and inspection characteristics
QM Master Data
Catalog QPCD Inspection catalog codes
Catalog QPCT Code texts
Catalog QPGR Inspection catalog code groups
Catalog QPGT Code group texts
Catalog TQ07 Follow-Up Action for Usage Decision of Inspection Lot
Catalog TQ07A QM: Function Modules for Follow-Up Action
Catalog TQ07T Language-dependent texts for Table TQ07
Catalog TQ15 Inspection catalog type index
Catalog TQ15T Language-dependent texts for table TQ15
Catalog TQ17 Defect classes
Catalog TQ17T Language-dependent texts for table TQ17
Catalog
Sample Determination QDEB Allwd. Relationships: Sampling Procedures/Dynamic Mod. Rules
Sample Determination QDEBT Allowed combinations of procedures/dynamic mod. rules: texts
Sample Determination QDPA Sampling scheme-instructions
Sample Determination QDPK Sampling scheme header
Sample Determination QDPKT Sampling scheme: texts
Sample Determination QDPP Sampling scheme item
Sample Determination QDQL Quality level
Sample Determination
Inspection Char TQ17A Weighting of Char
Inspection Char TQ11 Inspection Qualification
Inspection Char TQ29 Tolerance Keys
Inspection Char T006 Unit of measurement
Inspection Char
Dynamic Modification QDBM Valuation mode
Dynamic Modification QDBMT Valuation Mode: Texts
Dynamic Modification QDDR Dynamic modification rule (header)
Dynamic Modification QDDRT Dynamic modification rule: texts
Dynamic Modification QDEP Allowed inspection severities
Dynamic Modification QDEPT Allowed Inspection Severities: Texts
Dynamic Modification QDFB Function modules for the individual procedure categories
Dynamic Modification QDFBT Function Modules for Procedure: Texts
Dynamic Modification QDFM Function modules for valuation mode
Dynamic Modification QDFMT Function Modules for Valuation Mode: Texts
Dynamic Modification QDPS Inspection stages for a dynamic modification rule
Dynamic Modification QDPST Inspection Stages: Texts
Dynamic Modification QDSA Sampling type
Dynamic Modification QDSAT Sampling Type: Texts
Dynamic Modification QDSV Sampling procedure
Dynamic Modification QDSVT Sampling Procedure: Texts
Dynamic Modification TQ39B QM : Activates reference for dyn. modification level
Dynamic Modification
Graphics & SPC QASH Quality control chart
Graphics & SPC QAST Control chart track
Graphics & SPC QPSH Control chart types
Graphics & SPC QPSHT Texts for control chart types
Graphics & SPC QPSP SPC criterion
Graphics & SPC QPSPT Texts for SPC criteria
Graphics & SPC QPST Control chart track
Graphics & SPC QPSTT Texts for control chart tracks
Graphics & SPC
Specifications QMSP QM: material specification
Specifications
Inspection Plan PLKO Inspection plan Header
Inspection Plan MAPL Material Assignement
Inspection Plan PLPO Operation Details
Inspection Plan PLMK Inspection plan characteristics
Inspection Plan PLMW MAPL-Dependent Charac. Specifications (Inspection Plan)
Inspection Plan TQ03 QSS: Control for Screen Texts/TABLE NOT USED (Rel. 4.6)
Inspection Plan TQ29A Dependency tolerance key - nominal measurement
Inspection Plan TQ72 Type of share calculation
Inspection Plan TQ72T Texts for type of share calculation
Inspection Plan TQ75 QM formula parameters
Inspection Plan TQ75F Field names for QM formulas
Inspection Plan TQ75K Short text for Table TQ75F
Inspection Plan TQ75T Description of formula parameters
Inspection Plan
Qm in procurement QINF QM-info record for material and vendor
Qm in procurement TQ02 QM system definition
Qm in procurement TQ02A QM system assignment and QM system requirements
Qm in procurement TQ02B QM system
Qm in procurement TQ02T QM system description
Qm in procurement TQ02U Description QM system
Qm in procurement TQ04A Functions that can be blocked
Qm in procurement TQ04S QM block functions : texts
Qm in procurement TQ05 QM certificate categories for procurement
Qm in procurement TQ05T QM: text table for certificate types
Qm in procurement TQ08 Control of QM in procurement
Qm in procurement TQ08T QM: text for QM procurement keys
Qm in procurement TQ09 QM: agreement of QM document types
Qm in procurement TQ09T QM: agreement of QM document types
Qm in procurement TQ32A Inspection type to status assignment from status profile
Qm in procurement
QM in SD QVDM QM Info Record - QM Control in SD
QM in SD TQ32B Find insp.type for quality insp. for delivery note
QM in SD
Inspectio lot QALS Inspection lot record
Inspectio lot QALT Partial lot
Inspectio lot T156Q Movement Type: Material-Independent Control
Inspectio lot TQ30 Inspection types
Inspectio lot TQ30T Texts for inspection types
Inspectio lot TQ32 Assignment of inspection type to origin
Inspectio lot TQ32C Lot creation allowed values for the origin
Inspectio lot TQ32C _T Texts for lot creation indicator
Inspectio lot TQ33 Relevant fields for origin
Inspectio lot TQ34 Default values for inspection type
Inspectio lot
Inspection point QAPP Inspection point
Inspection point TQ79 Table with inspection point/user field combinations
Inspection point TQ79T Key words for inspeciton point user fields
Inspection point
Results Recording QAES Sample unit table
Results Recording QAKL Results table for value classes
Results Recording QAMR Characteristic results during inspection processing
Results Recording QAMV Characteristic specifications for inspection processing
Results Recording QASE Results table for the sample unit
Results Recording QASR Sample results for inspection characteristics
Results Recording QASV Sample specifications for inspection processing
Results Recording TQ12 Ind. external numbering for test units in results recording
Results Recording TQ12T Texts for the ind. for ext. numbering of units to be insp.
Results Recording TQ70 Control table for results recording
Results Recording TQ70C Function codes for navigation from the char.overview screen
Results Recording TQ70E Screen-based processing tables
Results Recording TQ70F Navigation during results recording
Results Recording TQ70S Characteristic overview screen for results recording
Results Recording TQ73 Origin of results data
Results Recording TQ73T Texts for origin of results data
Results Recording TQ74 Recording configuration
Results Recording TQ74T Recording configuration
Results Recording TQ76 Processing status of inspection characteristics
Results Recording TQ76T Texts for the processing status of insp. characteristics
Results Recording TQ77 Attributes for the Inspection Characteristic
Results Recording TQ77T Text Tables for Attributes
Results Recording TQ78 Status-dependent processing table for insp. characteristics
Results Recording TQ78T Texts for the status-specific proc. table for insp. char.
Results Recording
Defects recording TQ84 Confirmation profile
Defects recording TQ84T Text table for confirmation profile
Defects recording TQ86 Report category for defects recording
Defects recording TQ86A Assignment report category for work center
Defects recording TQ86T Text table for report category
Defects recording V_T35 2B_F Generated table for view V_T352B_F
Defects recording
Usage decision QAMB QM: Link Between Inspection Lot and Material Document
Usage decision QAVE Inspection processing: Usage decision
Usage decision TQ06 Procedure for Calculating the Quality Score
Usage decision TQ06T Language-specific texts for Table TQ06
Usage decision TQ07M QM: Inventory postings with usage decision
Usage decision
Sample Mgmt QPRN Sample drawing of phys. samples
Sample Mgmt QPRS Master record for phys. samples
Sample Mgmt QPRVK Sample-drawing procedure
Sample Mgmt QPRVK T Header for sample drawing procedure texts
Sample Mgmt QPRVP Sample-drawing items
Sample Mgmt QPRVP T Items for sample drawing procedure texts
Sample Mgmt TQ40 Definition of sample types
Sample Mgmt TQ40T Text table for sample type
Sample Mgmt TQ41 Storage locations for physical samples
Sample Mgmt TQ41T Texts for storage locations
Sample Mgmt TQ42 Physical sample containers
Sample Mgmt TQ42T Texts for phys. sample containers
Sample Mgmt
QMIS S068 Vendor statistics
QMIS S069 Material statistics
QMIS S097 QM notifications: Matl anal.
QMIS S098 QM notification: Vendor anal.
QMIS S099 QM notifications: Cust. anal.
QMIS S100 Problems: Material analysis
QMIS S102 Problems: Vendor analysis
QMIS S103 Problems: Customer analysis
QMIS S104 Customer statistics
QMIS S161 Inspection results: General
QMIS S162 Quantitative insp. results
QMIS S163 Quant. Insp. Result: Vendor
QMIS S164 Quant. Insp. Result: Vendor
QMIS S165 Inspection result: gen. custs
QMIS S166 Insp. Results: Quant. Customer
QMIS TQ55 Assign inspection lot origin for update group
QMIS TQ56 Definition of quality score classes
QMIS TQ56T Text table for the definition of quality score classes
QMIS TQ57 Assignment of quality score key to info structure
QMIS
Quality Certificates QCPR QM quality certificates in procurement
Quality Certificates I000 Conditions for certificate profile
Quality Certificates KONDI Conditions: Data part for certificates
Quality Certificates QCVK Certificate profile header
Quality Certificates QCVM Certificate profile characteristic level
Quality Certificates QCVMT Certificate profile characteristic level: texts
Quality Certificates QCVV Certificate Profile: List of Preliminary Products
Quality Certificates TQ61 Result value origin for certificates
Quality Certificates TQ61T Origin of result values for certificates: texts
Quality Certificates TQ62 Output strategy for skip characteristics
Quality Certificates TQ62T Output strategy for skip characteristics: texts
Quality Certificates TQ63 Origin of insp. specs for certificates (function modules)
Quality Certificates TQ63T Origin of inspection specifications for certificates: texts
Quality Certificates TQ64 Origin of characteristic short text for certificates
Quality Certificates TQ64T Origin of characteristic short text for certificates: texts
Quality Certificates TQ65 Certificates: Combinations allowed for origins, specs/values
Quality Certificates TQ67 Certificate-Relevant Output Types
Quality Certificates
Quality Notification QMEL Notification header
Quality Notification QMFE Item
Quality Notification QMSM Task
Quality Notification QMMA Activities
Quality Notification T352C Catalog types for each catalog profile
Quality Notification TQ81 Notification Scenario
Quality Notification TQ81V Usage of parts
Quality Notification TQ81V_T Texts for usage of parts
Quality Notification TQ81_T Texts for Notification Scenarios
Quality Notification TQ82 Change of Notification Type
Quality Notification TQ83 Partner Functions for Codes
Quality Notification TQ85 Function table for follow-up functions
Quality Notification TQ85R Rules for Follow-Up Functions
Quality Notification TQ85_T Action box text table
Quality Notification TQ8CO Assignment of reference orders to notification type
Quality Notification
Other Objects MARA Material Number
Other Objects T001W Plant
Other Objects LFA1 Vendor
Other Objects KNA1 Customer
Other Objects AUFK Order Number
Other Objects SAFK Run Schedule Header Number
Other Objects MCH1 Batch Number
Other Objects MCHA Batch Record
Other Objects EKKO Purchasing Document Header
Other Objects EKPO Purchasing document Item
Other Objects EKET Delivery Schedule
Other Objects VBUK Delivery Header
Other Objects VBUP Delivery Item
Other Objects CSKS Cost Center
Other Objects EQUI Equipment Number
<b>Transaction List:</b>
Q000 Quality management
QA00 Quality inspection
QA01 Create Inspection Lot
QA01A Create Inspection Lot
QA02 Change Inspection Lot
QA02A Change Inspection Lot
QA03 Display inspection lot
QA05 Job planning: Periodic inspection
QA06 Job overview: Periodic inspection
QA07 Trigger for recurring inspection
QA07L Deadline Monitoring Log
QA08 Collective Processing of Insp. Setup
QA09 No. range maintenance for insp.lots
QA10 Trigger automatic usage decision
QA10L Log for Automatic Usage Decision
QA11 Record usage decision
QA12 Change usage decision with history
QA13 Display usage decision
QA14 Change UD without history
QA16 Collective UD for accepted lots
QA17 Job planning for auto usage decision
QA18 Job overview for auto usage decision
QA19 Automatic usage decision
QA22 Change inspection point quantities
QA23 Display insp.point quantities
QA32 Change data for inspection lot
QA32WP QA32 -Call from Workplace/MiniApp
QA33 Display data for inspection lot
QA40 Auto. Usage Decision for Production
QA40L Log for Automatic Usage Decision
QA41 Scheduling UD for Production Lots
QA42 Job planning: UD prod. insp.lots
QA51 Scheduling Source Inspections
QA52 Source inspections: Job overview
QAC1 Change insp. lot actual quantity
QAC2 Transfer stock to insp. lot
QAC3 Reset sample
QAER Display archive objects
QAS1 Download Insp. Specs. (Obsolete)
QAS2 Download Basic Data (Obsolete)
QAS3 Upload Results (Obsolete)
QAS4 Upload UD (Obsolete)
QC01 Create certificate profile
QC02 Change certificate profile
QC03 Display certificate profile
QC06 Immediate delete of cert. profiles
QC11 Create cert. profile assignment
QC12 Change cert. profile assignment
QC13 Display cert. profile assignment
QC14 Create cert.prof.assign.w/copy model
QC15 Create cert. profile assignment
QC16 Change cert. profile assignment
QC17 Display cert. profile assignment
QC18 Create cert.prof.assign.w/copy model
QC20 Certificates for Deliveries
QC21 Quality certificate for the insp.lot
QC22 Quality Certificate for Batch
QC31 Archive display: Delivery item
QC32 Archive display: Inspection lot
QC40 Internet Certificate for Delivery
QC40A Internet Certificate for Delivery
QC42 Batch certificate on WWW
QC51 Create certificate in procurement
QC52 Change certificate in procurement
QC53 Display certificate in procurement
QC55 Worklist: Certificates - Procurement
QCC0 QM: Direct Access to IMG
QCC1 Direct Access to IMG: Notification
QCC2 IMG Direct Access: QM Q-Notification
QCC3 IMG Direct Access: QM Q-Inspection
QCC4 IMG Direct Access: QM Q-Planning
QCC5 IMG Direct Selection: QM Bus. Add-In
QCC_STABI Copy Stability Study Customizing
QCC_STABI_NK Copy Stability Study Number Ranges
QCCC QM standard settings complete
QCCF QM standard forms
QCCK QM standard settings: Catalogs
QCCM QM std. settings: Qual. notifs.
QCCN QM standard number ranges
QCCP QM std. settings: Quality planning
QCCS QM sampling schemes
QCCT QM standard texts
QCCU QM standard settings: Environment
QCCW QM std. settings: Quality inspection
QCCY Transport QM tolerance key
QCCZ QM std. settings: Qual. certificates
QCE2 Edit Communication Support
QCE3 Display Communication Support
QCYF QM standard forms (general)
QCYT QM standard texts (general)
QD21 Mark completed notifications
QD22 Archiving Notifications: Archive
QD24 Archiving Notifications: Delete
QD25 Archiving Notifications: Admin.
QD33 Delete quality level
QD34 Delete quality level planning
QD35 Delete job overview for Q-levels
QDA1 Edit sampling type
QDA3 Display sampling type
QDB1 Maintain allowed relationships
QDB3 Display allowed relationships
QDH1 Q-level evaluation: Change data
QDH2 Q-level evaluation: Display data
QDL1 Create quality level
QDL2 Change quality level
QDL3 Display quality level
QDM1 Edit valuation mode
QDM3 Display valuation mode
QDP1 Create sampling scheme
QDP2 Change sampling scheme
QDP3 Display sampling scheme
QDR1 Create dynamic modification rule
QDR2 Change dynamic modification rule
QDR3 Display dynamic modification rule
QDR6 Disp. where-used list-dyn. mod. rule
QDR7 Replace dynamic mod. rule used
QDV1 Create sampling procedure
QDV2 Change sampling procedure
QDV3 Display sampling procedure
QDV6 Uses: Sampling procedures
QDV7 Replace sampling procedure used
QE00 Quality Planning
QE01 Record characteristic results
QE02 Change characteristic results
QE03 Display characteristic results
QE04 Record sample results
QE05 Change sample results
QE06 Display sample results
QE09 Indiv.display of charac.result
QE09WP Call QE09 from Workplace
QE11 Record results for inspection point
QE12 Change results for inspection point
QE13 Display results for inspection point
QE14 Record results for delivery note
QE15 Change results for delivery note
QE16 Display results for delivery note
QE17 Record results for equipment
QE18 Change results for equipment
QE19 Display results for equipment
QE20 Record results for funct. location
QE21 Change results for funct. location
QE22 Display results for funct. location
QE23 Record results for phys. sample
QE24 Change results for phys. sample
QE25 Display results for phys. sample
QE29 No. Range Maint.: Conf. No. for Char
QE51 Results recording worklist
QE51N Results Recording Worklist
QE52 Worklist: Results for phys. sample
QE53 Worklist: Record results for equip.
QE54 Worklist: Results for funct. loctns
QE71 Tabular res. recording for insp. pts
QE72 Tabular Results Rec. for Insp. Lots
QE73 Tabular res. recording for characs.
QEH1 Worklist for Mobile Results Rec.
QEI1 Displaying QM Interfaces Appl. Log
QEI2 Deleting QM Interfaces Appl. Log
QEW01 Results Recording on Web
QEW01V Variant Maint.: Recording on Web
QF01 Record defect data
QF02 Change defect data
QF03 Display defect data
QF11 Record defects for inspection lot
QF21 Record defects for operation
QF31 Record defects for characteristic
QG09 Maint. num. range Q control charts
QGA1 Display quality score time line
QGA2 Display inspection results
QGA3 Print inspection results
QGC1 Qual. control charts for insp. lots
QGC2 Control charts for task list charac.
QGC3 Control charts for master insp. char
QGD1 Test Equipment Usage List
QGD2 Test Equipment Tracking
QGP1 Results history for task list charac
QGP2 Results History for Task List Charac
QI01 Create quality info. - purchasing
QI02 Change qual.information - purchasing
QI03 Display quality info. - purchasing
QI04 Job planning for QM procurement keys
QI05 Mass maintenance QM procurement keys
QI06 QM Releases: Mass maintenance
QI07 Incoming insp. and open pur. orders
QI08 Job overview of QM procurement keys
QISR Internal Service Request
QISR1 Internal Service Request - Forms
QISR_PCR60 vc_scenario for Message type 60(PCR)
QISR_SM29 ISR Customizing: Table Transfer
QISR_SR12_START Suggestion System
QISRSCENARIO Customizing Szenario
QISRTRANSPORT ISR Customizing Transport
QISRW Internal Service Request on the Web
QK01 Assign QM order to material
QK02 Display assigned QM orders
QK03 Maintain specs. for order type
QK04 Create QM order
QK05 Confirmed activities for insp. lot
QL11 Mat: Distribute Inspection Setup-ALE
QL21 Master Inspection Characs (ALE)
QL31 Distribute Inspection Methods (ALE)
QL41 Distribute Code Groups (ALE)
QM00 Quality Notifications
QM01 Create quality notification
QM02 Change quality notification
QM03 Display quality notification
QM10 Change list of quality notifications
QM10WP QM10 - Call from Workplace/MiniApp
QM11 Display List of Qual. Notifications
QM12 Change list of tasks
QM13 Display list of tasks
QM13WP QM13 - Call from Workplace/MiniApp
QM14 Change list of items
QM15 Display list of items
QM16 Change activity list
QM17 Display activity list
QM19 List of Q Notifications, Multi-Level
QM50 Time line display Q notifications
QMW1 Create quality notification (WWW)
QP01 Create
QP02 Change
QP03 Display
QP05 Print inspection plan
QP06 List: Missing/unusable insp. plans
QP07 List: Missing/Unusable GR InspPlans
QP08 Print task lists for material
QP11 Create reference operation set
QP12 Change reference operation set
QP13 Display reference operation set
QP48 Number Ranges for Physical Samples
QP49 Number range for phys. samp. drawing
QP60 Time-related development of plans
QP61 Display change documents insp.plan
QP62 Change documents ref.operation sets
QPIQS8 QM MiniApp Selection Variant
QPIQS9 QM MiniApp Selection Variant
QPNQ Number ranges for inspection plans
QPQA32 QM MiniApp Selection Variant
QPQGC1 QM MiniApp Selection Variant
QPQM10 QM MiniApp Selection Variant
QPQM13 QM MiniApp Selection Variant
QPR1 Create physical sample
QPR2 Change physical sample
QPR3 Display physical sample
QPR4 Confirm physical sample drawing
QPR5 Manual inspection lots for physSamps
QPR6 Create new phys.-samp. drawing w.ref
QPR7 Storage Data Maintenance
QPV2 Maintain sample drawing procedure
QPV3 Display sample drawing procedure
QS21 Create master insp. characteristic
QS22 Create master insp. charac. version
QS23 Change master insp. charac. version
QS24 Display master insp. charac. version
QS25 Delete master insp. charac. version
QS26 Display characteristic use
QS27 Replace master insp. characteristic
QS28 Display insp. charac. list
QS29 Maintain characteristic number range
QS31 Create inspection method
QS32 Create inspection method version
QS33 Change inspection method version
QS34 Display inspection method version
QS35 Delete inspection method version
QS36 Display inspection method use
QS37 Central replacement of methods
QS38 Display inspection method list
QS39 Maintain method number range
QS41 Maintain catalog
QS42 Display catalog
QS43 Maintain catalog
QS44 Maintain catalog
QS45 Display catalog
QS46 Display code group use
QS47 Central replacement of code groups
QS48 Usage indicator - code groups
QS49 Display code groups and codes
QS4A Display catalog
QS51 Edit Selected Sets
QS52 Display selected set index
QS53 Maintain individual selected set
QS54 Maintain selected set
QS55 Display selected set
QS58 Usage indicator - selected sets
QS59 Display selected sets
QS61 Maintain material specification
QS62 Display material specification
QS63 Maintain material spec: Planning
QS64 Display material spec: For key date
QS65 Activate material specification
QS66 Plan activation of material spec.
QS67 Job overview: Activate mat. spec.
QSR5 Archive inspection plans
QSR6 Delete routings
QST01 Create Stability Study
QST03 Display Stability History
QST04 Display Inspection Plans
QST05 Graphical Scheduling Overview
QST06 Scheduling Overview (StabilityStudy)
QST07 Change Testing Schedule Items
QST08 Display Testing Schedule Items
QSUB Define subsystems
QT00 Test Equipment Management
QT01 Test equipment management
QTSA Product Allocations: Send Quantities
QTSP Product Allocations:Send Customizing
QUERY_BP_FSBPBILDER BP: Screen Customizing for Query
QV01 Create quality assurance agreement
QV02 Change quality assurance agreement
QV03 Display quality assurance agreement
QV04 Find Quality Assurance Agreement
QV11 Create technical delivery terms
QV12 Change technical delivery terms
QV13 Display technical delivery terms
QV14 Search technical terms of delivery
QV21 Create QA agreement (DocType Q03)
QV22 Change Q-agreement (doc. type Q03)
QV23 Display Q-agreement (doc. type Q03)
QV24 Find Q-agreement (doc. type Q03)
QV31 Create Q-spec. (doc.type Q04)
QV32 Change Q-specification (docType Q04)
QV33 Displ. Q-specification (docType Q04)
QV34 Find Q-specification (doc. type Q04)
QV51 Create control for QM in SD
QV52 Change control for QM in SD
QV53 Display control for QM in SD
QVM1 Inspection lots without completion
QVM2 Inspection lots with open quantities
QVM3 Lots without usage decision
QZ00 Quality Certificates
Hope this will help.
Regards,
Naveen. -
Selection screen, dynamic enable and disable of blocks
Hi,
i have several parameters in different blocks.i want to enable one block and disable other blocks depending on the radio button selection. could some one help me on this.
for eg.
radiobutton1. under this text entries for date, time etc.
radiobutton 2. under this text entries for location from, location 2,phone etc.
so, if i select radio button 1 all the remaining text entries under other radio buttons should be disabled. how to do this.
your help would be appreciated.
Thanks,
kranthi.Hi Kranthi,
I am not sure what you meant by disabling all the selection screen fields. Are you saying ALL the selection screen fields or all fields that don't belong to the selected radio-button.
Anyway, here is a sample code how you manipulate the selection screen. The key options to use are 'modif id', 'at selection-screen output' and 'loop at screen'.
*------------------------ Selection Screen ---------------------------*
SELECTION-SCREEN BEGIN OF BLOCK selscr WITH FRAME TITLE text-000.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad1 USER-COMMAND a DEFAULT 'X',
p_rad2 RADIOBUTTON GROUP rad1,
p_rad3 RADIOBUTTON GROUP rad1.
*-- Selection Screen for radio button 1
SELECTION-SCREEN BEGIN OF BLOCK rad1 WITH FRAME TITLE text-001.
PARAMETERS: p_date LIKE sy-datum DEFAULT sy-datum MODIF ID one.
SELECT-OPTIONS: s_uzeit FOR sy-uzeit MODIF ID one.
SELECTION-SCREEN END OF BLOCK rad1.
*-- Selection Screen for radio button 2
SELECTION-SCREEN BEGIN OF BLOCK rad2 WITH FRAME TITLE text-002.
PARAMETERS: p_werks LIKE t001w-werks MODIF ID two.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(6) text-003 MODIF ID two.
SELECTION-SCREEN POSITION 8.
PARAMETERS: p_chk AS CHECKBOX DEFAULT 'X' MODIF ID two.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK rad2.
*-- Selection Screen for radio button 3
SELECTION-SCREEN BEGIN OF BLOCK rad3 WITH FRAME TITLE text-004.
PARAMETERS: p_matnr LIKE mkal-matnr MODIF ID tri,
p_verid LIKE mkal-verid MODIF ID tri.
SELECTION-SCREEN END OF BLOCK rad3.
SELECTION-SCREEN END OF BLOCK selscr.
AT SELECTION-SCREEN OUTPUT.
IF p_rad1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'TWO' OR
screen-group1 = 'TRI'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rad2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ONE' OR
screen-group1 = 'TRI'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rad3 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ONE' OR
screen-group1 = 'TWO'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
If you want to hide all the, I mean all except the radio-buttons, then simply loop at screen and modify every entry except the radio-button entries to screen-active 0. Something like this.
LOOP AT SCREEN.
IF SCREEN-NAME = 'RAD1' OR
SCREEN-NAME = 'RAD2 OR
SCREEN-NAME = 'RAD3'.
ELSE.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Srinivas -
IQ09 - Different process for material with bacth Split and no Batch
Hello,
i want to know if IQ09 treats material with batch number and no batch in the same way for fetching the serial number.
view V_EQUI_EQBS_SML is used to fetch the serial numbers.
i just need to confirm if the process is same in case a material has batch & no Batch together.
Thanks
RenuHi,
We faced the same problem and went back to option:
Cont.Ins Lot creation (QMAT-CHG) = "For each Material Document item
This solves the problem and was in our case the solution for receipts from production. But at goods receipt for purchase orders we still use the option for each material document, batch and SL.
There we pick up the materials in WM by hand by scanning the bar codes on the pallets (printed at GR). The transfer order creates a negative quant in unrestricted use that is later filled by the automatic usage decision that moves the stock from quality to unrestricted in the same bin.
Hope this helps.....
Arno -
Relations Between MLCD table and material movements type
Dear all,
I Have a question about relations between MLCD table and Material movements. For Example We have a movement type Z71 when we did a movevent with tis movement type from MB1C Transaction. System creates a record in Mlcd Table. in this table Category field is VN and PCat field is V. How system decides about VN and V
is there any table which contains these conversions or is there any custimization in MM or CO modules ?
Could you please help me if you have any information about subject.
Best RegardsHi Anupam
Thanks for your speedy reply.sorry i forget to mention i need FG materials details for given plant,production version,metrial type.In
MKAL i am not able to give material type as input parameter
Regards
Bala -
Need bapi for tales(QMAT, MARM, MEAN)
hi
Im using the BAPI_MATERIAL_SAVEDATA, to create a registry....but im having problems finding bapi, that will helpme to record the registry of the this tables
a. QMAT,
b. MARM
c. MEAN
do you know of any existing bapis i could use to save on these tables?
thanks in advance!!!im using it for the others tables MARC, MARA, etc..... whit the bapi you mention
but could find on this BAPI_MATERIAL_SAVEDATA inside of it (importing section), but on the section of table of the bapi, i found this ones
*" UNITSOFMEASURE STRUCTURE BAPI_MARM OPTIONAL
*" UNITSOFMEASUREX STRUCTURE BAPI_MARMX OPTIONAL
*" INTERNATIONALARTNOS STRUCTURE BAPI_MEAN OPTIONAL
*" TAXCLASSIFICATIONS STRUCTURE BAPI_MLAN OPTIONAL
....but dont know how this could insert on the tables if i use them
do i only insert on this tables (NITSOFMEASURE, INTERNATIONALARTNOS, TAXCLASSIFICATIONS ) and automatic updates the tables MARM, MEAN and MLAN?
thanks again? -
Process Order and planned order issue
Hi people,
1. While creation of process order using COR1, production version is determined by the system automatically and after that BOM is determined. My requirement is when BOM components are determined it has to compared with ZTABLE which contains restricted components and if entry exists in ZTABLE, then determine a new production version from MKAL but i am not abkle to find any enhancement point or BADI or user exit for the same.
2. During conversion of planned order to process order, it is always required to read PP master data before saving the order.
Can't find any enhancement for the same also.
Please help guys how to get this done.
Regards,
DheerajKinldy check the below user exit, one of them should help you ....
PPCO0001 Application development: PP orders
PPCO0008 Enhancement in the adding and changing of components
PPCO0004 Sort and processing exit: Mass processing orders
reg
Dsk -
Execute button and call transaction
Hi,
I have 2 buttons - activate and deactivate in the selection screen of a classical report. I use call transaction to do the process and both the buttons work. But I have to click on the execute button on top left everytime before clicking on activate or deactivate buttons. Otherwise it gives the message No changes made after doing the call transaction.
How to make it work without clicking on the execute button everytime?
Regards,
bindazmeHi Sesh,
here is the code.
Selection Screen Declaration
selection-screen : begin of block blk1 with frame title text-001.
parameters: s_matnr like qmat-matnr.
parameters: s_werks like qmat-werks.
parameters: p_insty like qmat-art.
selection-screen : end of block blk1.
selection-screen : begin of block blk2 with frame title text-002,
begin of line,
pushbutton 2(20) but1 user-command clk1,
pushbutton 32(20) but2 user-command clk2,
selection-screen : end of line,
end of block blk2.
Selection Screen Output
at selection-screen output.
but1 = 'Activate Insp type'.
but2 = 'DeActivate Insp type'.
Start of selection
at selection-screen.
Acitvate Inspection type
if sy-ucomm = 'CLK1'.
perform screen using: 'SAPLMGMM' '0060'.
perform field using: 'BDC_CURSOR' 'RMMG1-MATNR',
'RMMG1-MATNR' s_matnr,
'BDC_OKCODE' '=AUSW'.
call transaction 'MM02' using bdctab mode 'N' update 'L'.
endif.
DeActivate Inspection type
if sy-ucomm = 'CLK2'.
perform screen using: 'SAPLMGMM' '0060'.
perform field using: 'BDC_CURSOR' 'RMMG1-MATNR',
'RMMG1-MATNR' s_matnr,
'BDC_OKCODE' '=AUSW'.
call transaction 'MM02' using bdctab mode 'N' update 'L'.
endif. -
Inspection Type and Inspection Setup
i want to check whether the inspection setup is active or not..and also whether inspection type is active or not.. if it is active than for which inspection type it is active...
for all my plants
please can any one tell me the solution
thanks in advance
Edited by: ravi@mm on Mar 2, 2012 7:25 AMTQ30 table is the configuration table for the inspection types. It will not show material level data.
Use SE16 and look at the QMAT table.
You can use SQVI to generate a report from this table if needed on a regular basis.
If there is a check in field QMAT-AKTIV the inspection it active.
FF
Maybe you are looking for
-
Sending password secured attachment in Workflow notification
Hi All, We have a requirement where a CSV attachment sent through a workflow notification has to be password controlled. The password will be communicated to the recepient through a seperate notification. Is this feasible? and what are the options to
-
Reset or Clear SAP user context by external RFC caller program
Hello, I have a SAP system with performance problems due to a SAP user context starts using a lot of memory. This user context comes from an External RFC caller program written in Delphi and which uses the SAP RFC SDK provided by SAPGUI 6.40: SAP Aut
-
Get current page address and query string into Flex
Hello! How can I get the current address in the address bar into Flex please? (As $_SERVER would in PHP for example) Thank you!
-
Ho do I know if an ORACLE autmatically starts up with the linux machine?
three of the machines are RAC database and there is one single node database. How do I know if the DB will automatically startup with Linux machine? and if does not automatically start how can I modify the DB's so that they will automatically start w
-
Javaw.exe Application error
I have a COM(VB) dll and this dll is used by a VC++ dll and this VC++ dll is used by the JAVA. When this application of JAVA->VC++-->VB is used on Window 2000 etc the application was working fine. When the same code is used with Windows XP and Micros