Defaulting Supplier EXTERNAL_ID
Hi experts,
Upon approving suppliers through the Self-registration List, the supplier creation page is loaded and the External ID field is pre-populated with "Vendor<datetimestamp>". Is there a way to check and/or remove this default value?
Foh
I guess you can use a script to Default/change the Value of extenal ID. Write a document life cycle script on supplier (and the particular document type you are using). Set target as "CREATED"
check/remove the value of external ID using
doc.getExternalId() or doc.setExternalId("");
Check if this works.
Regards,
Immanuel
Similar Messages
-
How to show default supplier in purchase order form
hi folks,
the requirement is purchase order form should show me a default supplier/default supplier for an item and with other suppliers from list of values.
thanks,
sriHi Sri,
There is no such requirement in PO window unless you do some form personalisations.
But even if you go for a form personalisation it should pick for the combination of item and supplier...not sure how this works :-(
Other than that I can think of an option of Copying the existing PO to a new PO.
Thanks
-Arif. -
DEFAULT SUPPLIER FOR AN ARTICLE
Hello
I have an article which can be supplied by different suppliers and I want to define a default supplier.
How can I do this in the Info-Supply File of this article ?
Thank you in advance for your answer.
Best Regards.Hi,
First of all maintain a source list for that particular material through T code ME01
Through this you are maintaining the list of vendors who can supply that particular material to you with in a prticular time period
In the screen of ME01 you have a check box which says Fixed Source of Supply chk the option aganist a particular supplier and save it
By checking theindicator aganist a particular supplier you are making him as a perferred procurement option with in a specified period
Now when you are raising a purchase requisition tis preferred source is suggested first along with other suppliers who are maintained in the source list through ME01
Hope this answers your query
Any further clarifications required do put message
In case this answer is useful please do reward points
Thanks & Regards
Pavan -
Default Supplier on shopping cart
We need to have only one Supplier as default vendor. How can we achieve this.
ThanksHello Veda Vyas,
In case you are creating a PR with the Fixed vendor from SRM, then in standard SAP in a PR if you enter fixed vendor in R3, then you need to enter a inforecord or other source of supply. In case if the below message is error(E) in your R3 system, please change it to warning ( W).
Else your Shopping Cart will fail while creating PR and will throw below error:
"In the case of a fixed vendor, please enter info record"
Thanks. -
Organisation specific Supplier Payment Terms (R12 EBS-AP)
Hi,
In release 11 EBS you were able to set default supplier payment terms at organisation level (Payables Manager: Setup > Options > Financials), however, we have now implemented release 12 and it appears that this is no longer organisation specific (as we have multiple orgs this is causing a bit of an issue). Does anyone know if there is a way to set the default supplier payment terms at org level in R12?
Regards
CarlHi carl,
Payment Terms are still org specific in R12. When you open the Financials Option form it in context of a particular organization. You can select the organization of your choice and enter the appropriate payment term.
Thanks -
Sourcing Rules and Approved Supplier List in 11.5.10
Does anybody know:
Is it possible to default supplier information (and additionally source document information) into requisition and purchase order using sourcing rules and ASL for services, using only category and not item numbers?
Thanks,
LeonieHi;
I suggest check those information(column name, integrty etc) from e-trm site
Regard
Helios -
Supply area assignment in Production order
Hello All,
Is there supply area available in production order? As per my understanding the storage locations ( either issue or receiving ) data is available in the BOM of the Production order. But is there any field for capturing the supply area in the production order. If so from where is this supply area picked, is it from the Default supply area in the production version maintained in Material master?And in which tab can i see this supply area information in the Production order.
Regards
DivyaDivya,
There is no field for supply area that can be found in production order. However this filed is available in Work center Master data. WC is displayed in the operation screen of production order.
Supply area (SA) is used in the context of material replenishment area and is situated directly on the shop floor. Many work centers (WC) could be located within a single SA. This field is available in WC so that location of WC can be displayed easily on a large shopfloor.
I am sure this helps. For more questions please come back.
thanks,
Ram -
Hi,
I had a question about approved supplier list.What do you mean exactly by setting Global flag as NO and specifying an inventory org for an ASL entry?Doesn't that mean that this is and ASL entry only for that inventory org.
If I create 2 iProcurement responsibilities one for Inventory A and other for Inventory B and assign then to the inventory orgs in Organization access screen doesnt it mean that when I login from A I should see teh ASL's for only org A and not B?According to the Oracle Purchasing User’s Guide
"Sourcing Globally or Locally
In the Approved Supplier List and Sourcing Rule windows, you also
choose whether to exercise the sourcing information at a global or local
level. A sourcing rule assigned at the global level in the Sourcing Rule
5 – 32 Oracle Purchasing User’s Guide
/ Bill of Distribution Assignments window is valid for all operating
units. A global ASL entry in the Approved Supplier List window is
valid for all inventory organizations in an operating unit. A local
sourcing rule or ASL entry is valid only for the organization that you
were in or that you chose when creating the sourcing rule or ASL entry.
Local entries take precedence over global ones. For example, if you
have a global sourcing rule that says to use Supplier A for an item for
all organizations in your company, and a local sourcing rule for the
same item that says to use the local Supplier Z only for your
organization, Purchasing defaults Supplier Z on requisitions or
purchase orders created in your organization. Local entries are the
default in the Approved Supplier List window."
regards,
malin -
Accounting Setup in XLA for Supplier Cost Adjustments
Hi All,
We are running PRC: Create Accounting process and it has the following error for Supplier Cost Adjustments.
“Subledger Accounting was unable to derive an accounting code combination using the account derivation rule Cost Clearing Account Rule owned by Oracle. Please review the account derivation rule and make sure it derives a valid accounting flexfield combination for the source values passed for the transaction.”
As per the functionality for supplier costs any one of the following setups is mandatory
• Specify the default supplier cost credit account for supplier cost adjustments in Oracle Projects implementation options for each operating unit.
(OR)
• Define a rule in Oracle Subledger Accounting to determine the supplier cost credit account.
This setup is required for the process PRC: Create Accounting to successfully create accounting for supplier cost adjustments. Oracle Projects displays a message asking you to validate the setup each time that you enable the Allow Adjustments option for a predefined transaction source for supplier costs.
We not want to use “the default supplier cost credit account for supplier cost adjustments in Oracle Projects implementation options”
We want to do the setup in XLA to derive the account, can you please guide us how to do the XLA setup to process the supplier cost adjustments?
ThanksHi
Supplier invoice debit an account XXXX. This should be a CIP account (construction in progress), which is an Asset type account in GL.
When you capitalize the project, the system is populating the mass addition 'clearing account' field with the account debited by Projects (in your case, by AP). This will be the XXXX account.
The Expense Account should be the account you intend to charge periodic depreciation costs.
The Asset Account should be the account you intend to charge the value (the cost) of the asset in GL balance sheet.
Both, expense and asset, accounts are derived from the asset category.
If you have not defined asset categories, the system will use the default accounts from the system implementation setup.
Usually when you create an asset in Projects, before capitalizing, you are expected to setup the asset category. Asset category derives accounting and depreciation method.
Dina -
OTM - to provide more than one Supplier pay site for a given supplier
Hi Experts,
We're currently on OTM (Oracle Transport Management) version 5.5 and our Oracle Financial is on 11i. When our business receives invoices from carriers, we entered the invoices in the OTM system manually. When invoices are interfaced into our Oracle Financial system, the default supplier pay site information is derived using the supplier number and purchasing site information. Our current setup now has one supplier with one default supplier pay site. We are now seeing carrier with more than one remit-to address - we need to provide the capability of having more than more pay site for a supplier.
If your company has encountered this business problem, I would love to hear what approach did you use to solve this business issue.
Thanks in advance for your help.
JenniferMany site issues can be caused by corrupt cookies or cache. In order to try to fix these problems, the first step is to clear both cookies and the cache.
Note: ''This will temporarily log you out of all sites you're logged in to.''
To clear cache and cookies do the following:
#Go to Firefox > History > Clear recent history or (if no Firefox button is shown) go to Tools > Clear recent history.
#Under "Time range to clear", select "Everything".
#Now, click the arrow next to Details to toggle the Details list active.
#From the details list, check ''Cache'' and ''Cookies'' and uncheck everything else.
#Now click the ''Clear now'' button.
Further information can be found in the [[Clear your cache, history and other personal information in Firefox]] article.
Did this fix your problems? Please report back to us! -
Open TRs show in LL01 for Mvmt type 261, wrong SL on production order
Hi all,
I have the following issue
We have roughly 2000 open transfer requirements related to movement type 261 GI to order. They all show up as critical processes in LL01 (Warehouse Activity Monitor)
I have looked at the production orders being created and some of the components in those production orders show the wrong storage locations, which I am almost sure is the reason for the stranded TRs
But I cannot seem to find out where that list of wrong storage locations is getting populated from!! I have checked the material master and the storage types where these materials are stored in WM. In all these places the storage location is correct. Yet in the production orders some components show the right SL and some don't..
Does anyone know what could be the reason?Hi,
What i have understood is Open requirement has created for wrong storage location which u donot trace.
U can see the that incorrect storage location at Component Overview of Production order.
The possible area from which the issue storage location can flow.
1.Issue storage location defined for Bom components at Header Material Bom.
2. if header material has production version , check wirh issue storage location at Pv.
3. Default supply area defined at workcenter related that component.
4.stock determination Group at MRP view.
i hope this will help u to fix your problem
Pradeep -
제품 : PRECOMPILERS
작성날짜 : 1995-11-21
Understanding and Modifying Precompiler and OCI Makefiles
Note: This bulletin is also posted under the PCC category (#104220.448).
In order to successfully create a program using the Oracle Precompilers (Pro*C,
Pro*COBOL, Pro*FORTRAN, Pro*Ada, etc.) you need to precompile, compile, and
link your program with the Oracle libraries. On Unix systems, the easiest way
to do this is to use the 'make' utility. Make is a unix command that enables
you to manipulate files automatically. It works by way of a makefile, which is
a file written in a language that 'make' can understand. Oracle provides
makefiles for precompiling, compiling, and linking your programs. They can be
found under the $ORACLE_HOME subdirectory, in
$ORACLE_HOME/proc/demo/proc.mk for Pro*C,
$ORACLE_HOME/procob/demo/procob.mk for Pro*COBOL,
$ORACLE_HOME/profor/demo/profor.mk for Pro*FORTRAN, and
$ORACLE_HOME/proada/demo/proada.mk for Pro*Ada.
All of the makefiles are very similar in terms of the macros that they define,
and how they are used. The remainder of this bulletin will use Pro*C and
proc.mk as an example, but the concepts discussed here are also relevant to the
other languages.
This bulletin is divided into 6 sections and two appendecies:
I. How to use proc.mk for version 1.4, 1.5, and 1.6 of Pro*C
II. How to use proc.mk for version 2.0 of Pro*C
III. How does proc.mk work?
IV. Modifying proc.mk to change the precompile and compile options, and to
add your own libraries
V. Modifying proc.mk for a program which has more than one source module
VI. How to link OCI programs using proc.mk or oracle.mk
VII. Some issues about linking
Appendix A. Source code for the multiple module example
Appendix B. List of useful makefile macros
I. How to use proc.mk for version 1.4, 1.5, and 1.6 of Pro*C
The makefile for these Pro*C versions is set up to create an executable from a
program that is in a single source file. To use it, copy proc.mk from
$ORACLE_HOME/proc/demo into the directory which contains your source code.
This directory also contains electronic versions of the sample programs found
in the "Pro*C Supplement to the Oracle Precompilers Guide". Once you have
copied proc.mk into your directory, you can create your executable by just
typing 'make -f proc.mk <program name>', where <program name> is
the file containing your code, without the .pc extension. For example, if your
code is in my_prog.pc, you would use 'make -f proc.mk my_prog':
unix$ make -f proc.mk my_prog
/u02/7016/bin/proc iname=my_prog.pc ireclen=132 oreclen=132 select_error=no
Pro*C: Release 1.5.10.1.0 - Production on Thu Sep 1 15:09:47 1994
Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.
Precompiling my_prog.pc
/usr/5bin/cc -I. -O -Bdynamic -L/u02/7016/lib -o my_prog my_prog.c /u02/7016/li
b/libsql.a /u02/7016/lib/osntab.o -lsqlnet -lora /u02/7016/lib/libpls.a -lsqlne
t -lnlsrtl -lcv6 -lcore -lnlsrtl -lcv6 -lcore -lm
The above example was done on a Sun with Oracle 7.0.16.6 and Pro*C 1.5.10.1.0.
Your output may look a little different if you are on a different unix system.
After running this command, several files should have been created in the
current directory. my_prog.c is the C output from the precompiler.
my_prog.lis is also generated by the precompiler, and is the listing file that
gives you information about the precompilation. The executable will be called
my_prog.
II. How to use proc.mk for version 2.0 of Pro*C
proc.mk for version 2.0 is much more generic. It is designed to link together
programs that are in multiple modules, without modification. Again, the
makefile itself is found in $ORACLE_HOME/proc/demo, along with the sample
programs. In order to use it for a single module, you would use
'make -f proc.mk EXE=<program name> OBJS=<program name>.o' (after copying
proc.mk to your own directory). For example:
unix$ make -f proc20.mk EXE=my_prog OBJS=my_prog.o
/u03/oracle7.1/bin/proc iname=my_prog.pc
Pro*C: Release 2.0.3.0.0 - Production on Thu Sep 1 15:55:26 1994
Copyright (c) Oracle Corporation 1979, 1994. All rights reserved.
System default option values taken from: /u03/oracle7.1/proc/pmscfg.h
/usr/5bin/cc -I. -O -I/u03/oracle7.1/proc/lib -c my_prog.c
/usr/5bin/cc -Bdynamic -L/u03/oracle7.1/lib -o my_prog my_prog.o -lsql /u03/ora
cle7.1/lib/osntab.o -lsqlnet -lora -lsqlnet -lora -lnlsrtl -lcv6 -lcore -lnls
rtl -lcv6 -lcore `cat /u03/oracle7.1/rdbms/lib/sysliblist`
This will generate the same files as the previous example, plus my_prog.o,
which is an object file containing the compiled form of your code. It is then
linked with the Oracle libraries to create the executable.
III. How does proc.mk work?
To understand proc.mk, first we need to go into some details about how a
makefile works. Makefiles are usually made up of two kinds of entries -
targets and macro definitions.
The general format of a target entry is
<target>: <target1> <target2> ... <targetn>
<command1>
<command2>
<commandm>
Note that there are TABS, not spaces, before each of the <command> lines.
This entry tells make how to create <target> from <target1> through
<targetn>. To do this, make just needs to execute <command1> through
<commandm>. For example, the target entry
my_prog.c: my_prog.pc
proc iname=my_prog.pc ireclen=132 oreclen=132
tells make that to create my_prog.c, if my_prog.pc exists in the current
directory, it just has to run 'proc iname=my_prog.c'. This target rule will be
applied when 'make -f <makefile> my_prog.c' is issued from the unix prompt.
Targets can be chained together as well. For example if you had the target
entry
my_prog.o: my_prog.c
cc -c my_prog.c
in addition to the one above, then make would be able to create my_prog.o from
my_prog.pc by precompiling and compiling. Note that these two entries could
have been combined into
my_prog.o: my_prog.pc
proc iname=my_prog.pc ireclen=132 oreclen=132
cc -c my_prog.c
which would have the same effect.
There are also some special formats for targets, which don't depend on specific
file names. For example, the following sequence of targets creates an object
file from any .pc file:
.SUFFIXES: .pc .c .o
.pc.o:
proc iname=$*.pc ireclen=132 oreclen=132
cc -c $*.c
Note the special syntax here. The .SUFFIXES rule tells make what suffixes
to look for. The .pc.o rule (which has no dependencies) explains how to get
from a .pc file to a .o file. Inside the commands, $* will evaluate to the
filename (without the extension) of whatever file is currently being worked on.
If we put the above example into a file (called example.mk) and run it, we get:
unix$> make -f example.mk my_prog.o
proc iname=my_prog.pc ireclen=132 oreclen=132
Pro*C: Release 1.5.10.1.0 - Production on Mon Sep 19 15:53:22 1994
Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.
Precompiling my_prog.pc
cc -c my_prog.c
unix$
Notice that $* has been replaced with my_prog in the proc and cc commands.
Also note that we had to type 'my_prog.o' on the command line. This is because
the target rule was '.pc.o:'. If it was just '.pc:', then we wouldn't have
needed the .o extension on the command line. But then make wouldn't know that
this command creates a .o file. Make is smart enough to put together a .pc.c
and a .c.o rule to create a .o file from a .pc file.
The other kind of makefile entry is a macro definition. They usually look
like:
MACRONAME=macrotext
This defines the macro MACRONAME to be macrotext. Whenever make sees
$(MACRONAME) (Note the parenthesis), it will be replaced by macrotext. For
example,
PROFLAGS=ireclen=132 oreclen=132
my_prog.c: my_prog.pc
proc iname=my_prog.pc $(PROFLAGS)
will accomplish the same thing as the first example in this section.
'$(PROFLAGS)' will be replaced by 'ireclen=132 oreclen=132' (without the
quotes).
Macros can be defined more than once in a makefile. In that case, the
definition that is last (furthest from the start) will be the one used for the
entire file. Previous definitions are ignored.
IV. Modifying proc.mk to change the precompile and compile options, and to
add your own libraries
NOTE: Be careful of changing too many options, especially the compile and/or
link options. In many cases, changing these to values that are different from
the supplied ones in proc.mk can cause problems. Contact Worldwide Support if
you have questions about any of the compile or link options used in our default
supplied makefiles.
Consider this section of the makefile for Pro*C 1.5.10:
# General suffix rule to build executables from .pc and .c files.
# Usage :
# make -f proc.mk USERID=<user/pass> <prog>
# For example to build an executable from a Pro*C source file named 'abc.pc'
# using scott/tiger for the ORACLE account name. The make command line will
# be:
# make -f proc.mk USERID=scott/tiger abc
# Note: scott/tiger is the default account/password, so that you could
# also use the following command line:
# make -f proc.mk abc
# The executable will be named 'abc'.
.pc:
-$(PROC) iname=$*.pc $(PROFLAGS)
@$(ECHO) $(CC) $(CFLAGS) $(LDFLAGS) -o $* $*.c $(PROLDLIBS)
.c:
@$(ECHO) $(CC) $(CFLAGS) $(LDFLAGS) -o $* $*.c $(PROLDLIBS)
These two target rules tell make how to precompile and compile. See the
previous section for details on how these work. When you run the make, what
actually gets executed are the commands under '.pc:'. The first line is the
precompile, and the second is the compile. If you want to change the
precompiler options, change the PROFLAGS macro. By default, it is set by
PROFLAGS=ireclen=132 oreclen=132 select_error=no $(SQLCHECK) $(PROUSER)
If you want to add the option maxopencursors=20, to change the initial size of
the precompiler cache, you would add it to this line:
PROFLAGS=ireclen=132 oreclen=132 select_error=no maxopencursors=20
Note that I have removed the SQLCHECK and PROUSER macros. They are not
defined by default, so they do not evaluate to anything. You can define them
if you like, which can be used to add additional options such as SQLCHECK and
USERID. See the precompiler manual for more information about the available
precompiler options.
Similarly, you can set compile options with CFLAGS and link options with
LDFLAGS. Appendix B lists other macros used by proc.mk which you may find
useful.
In order to add additional libraries to the link, you can add them to the
PROLDLIBS macro. proc.mk for 1.5.10 (on the Sun) defines this macro as:
PROLDLIBS= $(LIBSQL) $(TTLIBS)
LIBSQL and TTLIBS are other macros previously defined. You can add your own
libraries to this macro to add them to the link:
PROLDLIBS= $(LIBSQL) $(TTLIBS) my_lib1.o my_lib2.o
Better results are obtained if you add your own libraries either after or
before the Oracle libraries. Putting your libraries in between LIBSQL and
TTLIBS can cause undefined symbols.
V. Modifying proc.mk for a program which has more than one source module
Many complicated programs are contained in more than one source module, unlike
the samples. Some of these modules would contain only C functions, and thus
have .c extensions. But the rest would contain embedded SQL as well, and
consequently have .pc extensions. How would you compile and link in a
situation such as this? In the remainder of this section, I present one
solution.
This solution uses the following files, which are included in Appendix A:
File Functions Contained in the File Functions Called by this File
main.c main db_connect, print_names,
db_disconnect
connect.pc db_connect, db_disconnect, none
sqlerror
print_names.pc print_names none
main.h db_connect, db_disconnect,
print_names, sqlerror (This is the header file)
For Pro*C 2.0, proc.mk can compile these together by using the EXE and OBJS
macros. The first target in the makefile (which will be executed if you don't
specify a target on the make line) looks like:
build: $(OBJS)
$(CC) $(LDFLAGS) -o $(EXE) $(OBJS) $(PROLDLIBS)
There are also default rules that tell make how to get from a .pc file to a .o
file:
.SUFFIXES: .exe .o .c .pc
.pc.c:
$(PROC) $(PROFLAGS) iname=$*.pc
.pc.o:
$(PROC) $(PROFLAGS) iname=$*.pc
$(CC) $(CFLAGS) $(PROCINC) -c $*.c
.c.o:
$(CC) $(CFLAGS) $(PROCINC) -c $*.c
So you can define the EXE macro to be the name of the executable, and the OBJS
macro to be the object files used. You can either do this in the makefile
itself (and then run it with 'make -f proc.mk') or, define them on the command
line. To compile the example, use:
make -f proc.mk EXE=main OBJS="connect.o print_names.o main.o"
Note the double quotes around the object lists. This is to pass the spaces as
part of the macro.
For Pro*C 1.5, consider the following, which should be added to the end of the
makefile:
OBJECTS=main.o print_names.o connect.o
main: $(OBJECTS)
@$(ECHO) $(CC) $(CFLAGS) -o main $(OBJECTS) $(PROLDLIBS) \\
$(CLIBS)
main.o: main.c main.h
@$(ECHO) $(CC) $(CFLAGS) -c main.c
connect.o: connect.pc main.h
@$(ECHO) $(PROC) iname=connect.pc $(PROFLAGS)
@$(ECHO) $(CC) $(CFLAGS) -c connect.c
print_names.o: print_names.pc main.h
@$(ECHO) $(PROC) iname=print_names.pc $(PROFLAGS)
@$(ECHO) $(CC) $(CFLAGS) -c print_names.c
If you are not on a Sun as I am, the commands under connect.o and print_names.o
should be the same as those under the '.pc:' target. Under main.o, the command
should be the same as that under '.c:'. Compare the commands given here to
those from my proc.mk, shown at the beginning of section IV.
Again note that there are TABS, not spaces, before the command lines for
precompilation and compilation, in accordance with the makefile format. With
the above lines added to the end of proc.mk, we can create the executable by
issuing 'make -f proc.mk main'. The output I get when running for the first
time (no additional files beyond the original 4 exist) is:
technique /home/csupport/surman/make> make -f proc.mk main
/usr/5bin/cc -I. -O -c main.c
/u02/7016/bin/proc iname=print_names.pc ireclen=132 oreclen=132 select_error=no
Pro*C: Release 1.5.10.1.0 - Production on Wed Sep 21 17:37:02 1994
Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.
Precompiling print_names.pc
/usr/5bin/cc -I. -O -c print_names.c
/u02/7016/bin/proc iname=connect.pc ireclen=132 oreclen=132 select_error=no
Pro*C: Release 1.5.10.1.0 - Production on Wed Sep 21 17:37:06 1994
Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.
Precompiling connect.pc
/usr/5bin/cc -I. -O -c connect.c
/usr/5bin/cc -I. -O -o main main.o print_names.o connect.o /u02/7016/lib/libsql
.a /u02/7016/lib/osntab.o -lsqlnet -lora /u02/7016/lib/libpls.a -lsqlnet -lnlsr
tl -lcv6 -lcore -lnlsrtl -lcv6 -lcore -lm -lm
After running as above, a number of additional files are created. The
files connect.lis and print_names.lis are generated by the
precompiler, along with connect.c and print_names.c. Each of the .c
files is then compiled with the '-c' option to create a .o file. So
we get main.o, connect.o, and print_names.o. Finally, the object
files are linked together to form the final executable, which is
called 'main'.
What are all these files? The .c extension signifies a file
containing pure C code. The main program is in main.c to start with.
The .pc extension signifies a file containing C code with embedded
SQL, suitable for precompiling. The precompiler generates the .c file
from the .pc file. The .lis extension signifies a listing file, also
generated by the precompiler. It contains a trace of the
precompilation attempt. Files with the .o extension are library
files. They contain compiled code, and can be linked together into
one executable. Different compilers can generate .o files, created
from source files written in different languages. All of the .o files
can be linked together, regardless of the original source language.
main.h is the header file. This contains external definitions for
the functions referenced by each module. This is necessary so the compiler
will understand the correct prototype for each function. Note that
it is referenced on the target line for each file. This is so
the files are recompiled when the header file is changed.
The linking is done by the final cc command, located under the make
target main:
@$(ECHO) $(CC) $(CFLAGS) -o main $(OBJECTS) $(PROLDLIBS) \\
$(CLIBS)
The only new thing here is the -o option. This is an option to the
cc command which tells the compiler the name of the output file. In
this case, it is called 'main'. If no output file is specified, the
compiler usually calls it 'a.out'.
Using this method has the advantage that make will only compile those files
which need to be changed. For example, consider the main target:
main: $(OBJECTS)
@$(ECHO) $(CC) $(CFLAGS) -o main $(OBJECTS) $(PROLDLIBS) \\
$(CLIBS)
Whenever one of $(OBJECTS) (in this case, the object files created
by compilation) has changed, make will run the commands under this
target (in this case, the link command).
What this means is that only those files which have been changed will
be recompiled. If you change print_names.pc (try "touch print_names.pc"
from the unix prompt) and run make, you will get only:
unix$ touch print_names.pc
unix$ make -f proc.mk main
/u02/7016/bin/proc ireclen=132 oreclen=132 select_error=no iname=print_names.pc
Pro*C: Release 1.5.10.1.0 - Production on Wed Sep 21 17:48:48 1994
Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.
Precompiling print_names.pc
/u02/7016/bin/proc iname=print_names.pc ireclen=132 oreclen=132 select_error=no
Pro*C: Release 1.5.10.1.0 - Production on Wed Sep 21 17:48:50 1994
Copyright (c) Oracle Corporation 1979, 1992. All rights reserved.
Precompiling print_names.pc
/usr/5bin/cc -I. -O -c print_names.c
/usr/5bin/cc -I. -O -o main main.o print_names.o connect.o /u02/7016/lib/libsql
.a /u02/7016/lib/osntab.o -lsqlnet -lora /u02/7016/lib/libpls.a -lsqlnet -lnlsr
tl -lcv6 -lcore -lnlsrtl -lcv6 -lcore -lm -lm
unix$
Notice that the only thing that was done here was to precompile and
compile print_names.pc, generating print_names.o. Then, since main
depends on print_names.o, the final cc command (which links the final
executable) was also done. So the same make command will only
recompile those modules which have changed. This can be significant
when linking in many modules, some of which can take a long time to
compile. For more information on the make command, I suggest that you
look at a Unix or make manual. One such book is "Managing Projects
with Make", by Andrew Oram and Steve Talbott.
Note that you can create suffix rules for the proc.mk for 1.5, similar to the
ones for Pro*C 2.0. By using suffix rules, it is possible to shorten this
example. The commands for each of the .pc files are identical. Rather
than having a separate entry for each one, you can create general
suffix rules that tell make how to create a .o file from a .pc file, for
example. For more information on how to do this, I recommend that you
consult a book or tutorial on make, such as the book referenced above.
VI. How to link OCI programs using proc.mk or oracle.mk
The libraries used to link OCI programs are very similar to the libraries used
to link Pro*C programs. The main difference is that OCI programs link with
libocic.a, and Pro*C programs link with libsql.a. Both can be found under
$ORACLE_HOME/lib for Oracle7, and $ORACLE_HOME/rdbms/lib for version 6.
For Oracle7, you can use either proc.mk or oracle.mk to link OCI code.
oracle.mk is a makefile found in $ORACLE_HOME/rdbms/lib, and is used mainly for
linking various options into the Oracle RDBMS itself, as well as for linking
the Oracle executables. There are also targets in oracle.mk which will link
the sample OCI programs cdemo1.c through cdemo3.c. Following are these
targets, taken from the oracle.mk for 7.0.16 on Sun:
OCILDLIBS= $(LIBOCIC) $(TTLIBS) $(LLIBCORE)
INCLUDE= -I$(ORACLE_HOME)/rdbms/demo
MAKEDEMO= \\
@if [ "$(NONDEFER)" = "true" -o "$(NONDEFER)" = "TRUE" ] ; then \\
$(ECHO) $(CC) $(LDFLAGS) -o $@ $? $(NDFOPT) $(OCILDLIBS) $(CLIBS); \\
else \\
$(ECHO) $(CC) $(LDFLAGS) -o $@ $? $(OCILDLIBS) $(CLIBS); \\
fi
cdemo1: cdemo1.o
$(MAKEDEMO)
.c.o:
$(CC) -c $(INCLUDE) $(CFLAGS) $*.c
First note the '.c.o' target rule. Note that the INCLUDE macro is here, which
has the -I compiler option to include the directory where the demo header files
are located. The cdemo1 target will execute the MAKEDEMO macro. Based on
whether or not the NONDEFER macro is "true" or "TRUE", the program is linked
either with or without the nondeferred option. Notice that if NONDEFER is true,
then the NDFOPT macro is included in the link. If NONDEFER isn't true, then
NDFOPT isn't included. That's the only difference. If you link with the
nondeferred option, than deferring the parse with the defflg parameter of
oparse() has no effect. See the OCI manual for more information on the
oparse() function and what it does. In most cases, you will want the ability
to defer the parse, and so you wouldn't link with NDFOPT. Other than NDFOPT,
the libraries to link with are OCILDLIBS and CLIBS. So you can use these
macros in your own makefile to link OCI programs.
proc.mk can also be used to link OCI programs. Like oracle.mk, it also defines
OCILDLIBS. The link line would look like the line under the .pc: target used
for Pro*C programs, but would use OCILDLIBS instead of PROLDLIBS:
@$(ECHO) $(CC) $(CFLAGS) $(LDFLAGS) -o $* $*.c $(OCILDLIBS)
Note that proc.mk does not link with the nondeferred option. For version 6,
there are no OCI targets in oracle.mk, so you should use proc.mk as the
template to link OCI programs. For Oracle7, use either proc.mk or oracle.mk.
VII. Some issues about linking
Most unix linkers are one-pass. This means that the linker will only examine
the symbols in your executable once. Because of this, several of the Oracle
libraries need to be included more than once to resolve all of the symbols.
This is because the libraries are mutually referencial - functions in one
library call functions in another, and the second library in turn calls
functions in the first library. As a result, it is not recommended that you
change the order of the libraries in the link. If you add your own libraries,
add them either before or after the Oracle libraries. Don't put them between
Oracle libraries on the link line. The Oracle libraries would be PROLDLIBS for
Pro*C programs, and OCILDLIBS for OCI programs. If you use a utility such as
'nmake', you should be aware of how that differs from 'make', as well. Macro
processing can be different between the two utilities.
You should also be aware that the specific Oracle libraries used vary between
operating systems and Oracle versions. If you upgrade the precompiler and the
database, chances are that the libraries necessary will also change. So you
may have to change any existing makefiles. Always use the proc.mk that ships
with the precompiler as a guide to which libraries are necessary.
There are two different ways to specify a library to be included in the link.
One is to fully qualify the name of the library (such as /u02/7016/lib/libsql.a
in the above example). Another is to use the -l option. If you specify a
library (such as -lnlsrtl) this tells the linker to look for a library called
libnlsrtl.a in the library search path. To add directories to the library
search path, use the -L option. For example, the LDFLAGS macro should contain
-L$(ORACLE_HOME)/lib. This tells the linker to look in this directory to find
libraries specified with -l. Some of the Oracle libraries are fully qualified,
and some are included with -L and -l. Both have the same effect.
You can create your own libraries by using the 'ar' unix command. This utility
allows you to archive several .o object files into one .a library archive.
Consult your unix man pages on 'ar' for more information on this command and
how to use it.
Appendix A: Source code for the multiple module example
Here are the files used in this example:
**** FILE main.h ****
extern void sqlerror();
extern void connect();
extern void print_names();
extern void disconnect();
*** FILE main.c ****
#include <stdio.h>
#include "main.h"
void main() {
int dept;
printf("Hello There!\
printf("Now connecting...\
connect("scott", "tiger");
printf("Enter dept no: ");
scanf("%d", &dept);
print_names(dept);
printf("Disconnecting...\
disconnect();
**** FILE connect.pc ****
#include <stdio.h>
#include "main.h"
EXEC SQL include sqlca;
void connect(username, password)
char *username;
char *password; {
EXEC SQL begin declare section;
VARCHAR un[20];
VARCHAR pw[20];
EXEC SQL end declare section;
strcpy(un.arr, username);
un.len = strlen(un.arr);
strcpy(pw.arr, password);
pw.len = strlen(pw.arr);
EXEC SQL whenever sqlerror do sqlerror();
EXEC SQL connect :un identified by :pw;
void disconnect() {
EXEC SQL commit work release;
void sqlerror() {
printf("SQL error!!\
EXEC SQL whenever sqlerror continue;
printf("% .70s \
",sqlca.sqlerrm.sqlerrmc);
EXEC SQL rollback release;
exit(1);
**** FILE print_names.pc ****
#include <stdio.h>
#include "main.h"
EXEC SQL include sqlca;
EXEC SQL begin declare section;
VARCHAR ename[20];
EXEC SQL end declare section;
void print_names(dept)
EXEC SQL begin declare section;
int dept;
EXEC SQL end declare section; {
EXEC SQL whenever sqlerror do sqlerror();
EXEC SQL DECLARE emp_cursor CURSOR FOR
select ename
from emp
where deptno = :dept;
EXEC SQL OPEN emp_cursor;
EXEC SQL whenever not found goto done_loop;
printf("Employees in dept %d:\
", dept);
for (;;) {
EXEC SQL fetch emp_cursor into :ename;
ename.arr[ename.len] = '\\0';
printf("%s\
", ename.arr);
done_loop:
EXEC SQL CLOSE emp_cursor;
Appendix B. List of useful makefile macros
Note that many of these macros are defined, but not all of them. proc.mk for
Pro*C 2.0, for example, uses PROFLAGS in the precompile targets, but does not
define it.
PROFLAGS: options to be passed to the precompiler, such as ireclen or
sqlcheck
CFLAGS: options to be passed to the compiler, such as -I or -O
LDFLAGS: options to be passed to the linker, such as -L
CC (or RCC): the C compiler (/usr/5bin/cc for Sun)
PROC: the precompiler ($ORACLE_HOME/bin/proc)
LIBHOME: directory in which to find the Oracle libs ($ORACLE_HOME/lib for
Oracle7, $ORACLE_HOME/rdbms/lib for version 6)
LIBxxx: Oracle library libxxx.a fully qualified (such as LIBSQL, equal to
$(LIBHOME)/libsql.a)
LLIBxxx: Oracle library libxxx.a, using -l (such as LLIBCORE, equal to
-lcore)
PROLDLIBS: Oracle libraries necessary to link (defined in terms of other
macros)
OCILDLIBS: Oracle libraries necessary to link programs using the Oracle
Call Interfaces (OCI) (also defined in terms of other macros)
______________________________________________________________________________Robert B gin (self) (guest) wrote:
: Robert B gin (guest) wrote:
: : Since I've last posted, I've installed RedHat 5.2 and
ditched
: : Slackware!
: : (btw, what a breeze - Hat's off to RH! very nice install!).
: : I've then installed oracle, have managed to setup
tnsnames.ora
: : so I can connect via sqlplus to my remote database (on
: VAX/VMS).
: : But now I have Pro*C linker problems with:
: : make -f demo_proc.mk build OBJS=test.o exe=test
: : (blah,blah,blah)
: : /usr/lib/crt1.o(.text+0x36): undefined reference to `main'
: : make: *** [build] Error 1
: : Does anybody out there have a similar problem?
: : Rob
: Duh! forget it... (EXE has to be caps... RTFM)
: (cryptic error message though?)
: works great!!!
Could you please tell me where I can get demo_proc.mk file
for Linux (RedHat)?
Thanks
null -
Schedule line error ,urgent,urgent
dea sap expert:
I have schedule line error , please help
I have part 9173191-04.
There is schedule line as below
10th Feb 72
10th Feb 72
17th Feb 172
On 23th Feb , the stock is zero.
Due to our factory want to GR early than 17th Feb.
Material planner change lastest schedule date from 17th to 10th .
After she change , schedule line as below
10th Feb 72
10th Feb 72
10th Feb 172
17th Feb 12
On 23th Feb , the stock is 12 PC.
Could you help to explain , why it generate another 12 PC .
And make there are 12PC we will never be used it.
Please help me on it .
Thanks so much.
Below is the material master information .
MRP Type P1
Reorder Point 0 Planning time fence 10
Planning cycle Z05 (Friday )
Lot size SB
Rounding value 72
Procurement type F Batch entry
Special procurement Prod. stor. location AS03
Quota arr. usage 3 Default supply area
Backflush 1 Storage loc. for EP XT06
JIT delivery sched. Stock det. grp REM
In-house production 0 days Planned Deliv. Time 0 days
GR Processing Time 0 days Planning calendar Z05(Friday )
SchedMargin key LOC
Safety Stock 0 Service level (%) 97.0
Min safety stock 0 Coverage profile
Safety time ind. 2 Safety time/act.cov. 7 days
STime period profileHi,
>Wish to know when & why does the schedule line Exist tab in sales order trigger.
Schedule line is a place where you can define different delivery dates for a single line item.
Let's say, you have one line item for quantity 1000. Now if your production department and planning department saying they can deliver it in a weekly basis.(Say 250 for each week)
In that case you have 2 options.
One is to create 4 separate line items instead of original line item with different delivery dates and relevant quantities.
You can create delivery from VL01N or VL10C here for relevant line item.
Else
have 4 different schedule lines with delivery dates and relevant quantities
You can do delivery from VL10E for this case for relevant schedule line.
Same is happening when ATP is triggered, where system suggest different delivery dates as different schedule lines.
So it's based on ATP or it can be your decision as well.
>when I try to do the delivery I get an error u201CNo schedule lines due for delivery up to the selected date u201D.
This can happen for many reasons.
1 - Because the "Selection Date" you have given in the VL01N screen is not equal or greater than the "delivery date" you have maintained in the schedule lines.
Always make sure below rule.
"Selection Date" of the VL01N > "delivery date" you have maintained in the schedule lines
Therefore change the date in the "Selection Date" of the VL01N to "delivery date" you have maintained in the schedule line or forward date and try.
2 - You don't have confirmed stock.
Check your schedule line tab for "Confirmed quantity" column, if you don't have a value there, this error comes. This happens when you haven't done ATP.
Best regards,
Anupa -
i created lsmw program for mm01 using direct input method .
i done upto defining source fields now i want to create the relation between structures ,In this step what to do can any body give suggetions
here i am sending what i have dine
Here I am defining source structures.this one is 2nd step
ZCPROJ - ZCSUB - ZCOBJ demo on object
Source Structures
|
|-----ZBSTRUC basic view structure
|-----ZMDES Material description
|-----ZALT ALT UOM Structure
|-----ZCLAS Classification structure
|-----ZSALV Sales view
|-----ZSALT sales taxes
|-----ZSALTX sales text
|-----ZPUR Purchasing
|-----ZPURT Purchasing text
|-----ZPLAN Plant data
|-----ZFORC forecasting
|-----ZWSH Work scheduling
|-----ZPLS plant data storage
|-----ZWMST WM Structure
|-----ZQMST QM Structure
|-----ZACCO account cost
3rd step defining source fields
ZCPROJ - ZCSUB - ZCOBJ demo on object
Source Fields
|
|--5 ZBSTRUC basic view structure
| |-----MATNR C(010) Material
| |-----MBRSH C(010) Industry sector
| |-----MTART C(010) Material type
| |-----AENNR C(010) Change number
| |-----MATNR1 C(010) material
| |-----MAKTX C(010) material description
| |-----MEINS C(010) asic unit of measure
| |-----MATKL C(010) Material group
| |-----BISMT C(010) old matrerial no
| |-----EXTWG C(010) External material group
| |-----SPART C(010) division
| |-----LABOR C(010) lab off
| |-----PRDHA C(010) product heirarchy
| |-----MSTAE C(010) material status
| |-----MSTDE C(010) valid from
| |-----MTPOS_MARA C(010) General item catogory group
| |-----FERTH C(010) Produc inspection memo
| |-----CADKZ C(010) cad indicator
| |-----WRKST C(010) basic material
| |-----KZUMW C(010) environmentally relevent indicator
| |-----ZZPCODE C(010) product code
| |-----ZZPMODEL C(010) product model
| |-----ZSWVER C(010) version
| |-----ZZMET C(010) meta class
| |-----ZEINR C(010) document
| |-----ZEIVR C(010) documentversion
| |-----ZEIAR C(010) document type
| |-----SATNR C(010) cross plat CM
| |-----BLATT C(010) page number
| |-----KZKFG C(010) material configurable
| |-----BRGEW C(010) gross weight
| |-----GEWEI C(010) weight unit
| |-----NTGEW C(010) net weight
| |-----VOLUM C(010) volume
| |-----VOLEH C(010) volme unit
| |-----GROES C(010) size/ deimension
| |-----MDZUO C(010) design documents attached
|
|--5 ZMDES Material description
| |-----MATNR C(010) material
| |-----SPRAS C(010) language
| |-----MAKTX C(010) material description
|
|--5 ZALT ALT UOM Structure
| |-----MATNR C(010) material
| |-----MAKTX C(010) material description
| |-----UMREN C(010) alt uom volume
| |-----MEINH C(010) alt uom
| |-----UMREZ C(010) base conversion factor
| |-----MEINS C(010) basic unit of measuer
|
|--5 ZCLAS Classification structure
| |-----MATNR C(010) material
| |-----MAKTX C(010) material description
| |-----KLART C(010) material type
| |-----CLASS C(010) mateial class
| |-----ATNAM C(010) internal charecteristic
| |-----ATWRT C(010) charecteristic value
|
|--5 ZSALV Sales view
| |-----MATNR C(010) material
| |-----MAKTX C(010) material description
| |-----VKORG C(010) sales organization
| |-----SPART C(010) division
| |-----MSTAV C(010) cross distribution channel status
| |-----MSTDV C(010) valid from
| |-----VMSTA C(010) Distribution channel specific status
| |-----VMSTD C(010) valid from
| |-----DWERK C(010) delivery plat
| |-----MATKL C(010) material group
| |-----SKTOF C(010) cash discount
| |-----AUMNG C(010) minimum order quantity
| |-----LFMNG C(010) min delivery quantity
| |-----SCMNG C(010) delivery unit quantity
| |-----RDPRF C(010) rounding frofile
| |-----VERSG C(010) material statistic group
| |-----KONDM C(010) material pricing group
| |-----KTGRM C(010) account assign ment group
| |-----MTPOS_MARA C(010) general item category group
| |-----MTPOS C(010) item category group
| |-----PMATN C(010) pricing material group
| |-----PRODH C(010) product heirarchy
| |-----MVGR1 C(010) material group1
| |-----MVGR2 C(010) material group2
| |-----MVGR3 C(010) material group3
| |-----MVGR4 C(010) material group4
| |-----MVGR5 C(010) material group5
| |-----ZMORT C(010) mat type
| |-----ZZCCODE C(010) char cdoe
| |-----ZZCVALU C(010) charecter value
|
|--5 ZSALT sales taxes
| |-----MATNR C(020) material
| |-----TALND C(003) tax country code
| |-----TAXKM C(010) taxclassification 1
| |-----TAXKM1 C(010) tax clasificaton 2
| |-----TAXKM2 C(010) tax classification3
| |-----TAXKM3 C(010) tax classification 4
| |-----TAXKM4 C(010) tax classification 5
| |-----TAXKM5 C(010) tax classification 6
| |-----TAXKM6 C(010) tax classification 7
| |-----TAXKM7 C(010) tax classification 8
| |-----TAXKM8 C(010) tax classification 9
|
|--5 ZSALTX sales text
| |-----RMATNR C(020) refrence material
| |-----MATNR C(020) material code
| |-----VKORG C(010) sales organization
| |-----VTWEG C(010) distribution channel
| |-----SPART C(010) division
| |-----DESC C(040) descrition
| |-----SPARS C(003) language
|
|--5 ZPUR Purchasing
| |-----MATKL C(010) material description
| |-----MMSTA C(010) plant specific material status
| |-----MMSTD C(008) valid from
| |-----KAUTB C(020) automatic purchase order
| |-----XCHPF C(020) batch management
| |-----EKWSL C(020) purchasing value key
| |-----WEBAZ C(020) goods receiving proc time
| |-----INSMK C(020) post into inspection stock
| |-----KZKRI C(020) critical part
| |-----USEQU C(020) quota arr usage
| |-----KORDB C(020) source list
| |-----FABKZ C(020) jit scheduling
|
|--5 ZPURT Purchasing text
| |-----REMATNR C(020) refrence material
| |-----MATNR C(020) material
| |-----WERKS C(010) plat
| |-----TEXT C(040) text line
| |-----SPRAS C(003) language
|
|--5 ZPLAN Plant data
| |-----MATNR C(020) material
| |-----WERKS C(010) plant
| |-----MEINS C(010) basic unit of measure
| |-----BRGEW C(010) gross weight
| |-----GEWEI C(010) weight unit
| |-----NTGEW C(010) net weight
| |-----MTVFP C(010) availability check
| |-----XCHPF C(010) batch management
| |-----TRAGR C(010) transportation group
| |-----LADGR C(010) loading group
| |-----XMCNG C(010) negative stocks
| |-----PRCTR C(010) profit center
| |-----SERNP C(010) serial number profile
| |-----STAWN C(010) commodity import code
| |-----MTVER C(010) export import group
| |-----CASNR C(010) cash number
| |-----HERKL C(010) contry of origin
| |-----HERKR C(010) regeion of orih\gin
| |-----PRENC C(010) excemption cert
| |-----PRENO C(010) excempton cert no
| |-----PREND C(010) issue date of cert no
| |-----ZDTCD C(010) import duty code
| |-----ZDTRT C(010) import date
| |-----DISGR C(010) mrp group
| |-----EKGRP C(010) purchasing group
| |-----MAABC C(010) abc indicator
| |-----MMSTA C(020) plant specific material status
| |-----MMSTD C(010) date of pim spe status
| |-----DISMM C(010) mrp type
| |-----MINBE C(010) reorder print
| |-----FXHOR C(010) planning time fence
| |-----LFRHY C(010) planing cycle
| |-----DISPO C(010) mrp controller
| |-----DISLS C(010) lot size key
| |-----BSTFE C(010) fixed lot size
| |-----MABST C(010) maximum stock level
| |-----BSTMI C(010) minimum lot size
| |-----BSTMA C(010) maximun lot size
| |-----BSTRF C(010) Rounding value
| |-----DIBER C(010) MRP area exists
| |-----BESKZ C(010) Procurement type
| |-----SOBSL C(010) Special procurement
| |-----LGPRO C(010) Prod. stor. location
| |-----USEQU C(010) Quota arr. usage
| |-----VSPVB C(010) Default supply area
| |-----RGEKZ C(010) Backflush
| |-----LGFSB C(010) Storage loc. for EP
| |-----FABKZ C(010) JIT sched. indicator
| |-----EPRIO C(010) Withdr. seq. group
| |-----SCHGT C(010) Bulk Material
| |-----DZEIT C(010) In-house production
| |-----PLIFZ C(010) Plnd delivery time
| |-----WEBAZ C(010) GR processing time
| |-----MRPPP C(010) Planning calendar
| |-----FHORI C(019) SchedMargin key
| |-----EISBE C(010) Safety stock
| |-----LGRAD C(010) Service level (%)
| |-----EISLO C(010) Min safety stock
| |-----RWPRO C(010) Coverage profile
| |-----SHFLG C(010) Safety time ind.
| |-----SHZET C(010) Safety time/act.cov.
| |-----SHPRO C(010) STime period profile
| |-----ZKROP C(010) ZKROP
| |-----ZZUSI C(010) ZZUSI
| |-----ZRPQT C(010) ZRPQT
| |-----ZZUS2 C(010) ZZUS2
| |-----ZRPCD C(010) ZRPCD
| |-----ZZUS3 C(010) ZZUS3
| |-----ZXKBR C(010) ZXKBR
| |-----ZZPACK C(010) ZZPACK
| |-----ZSKBR C(010) ZSKBR
| |-----ZRTRN C(019) ZRTRN
| |-----ZPDAY C(010) ZPDAY
| |-----ZRPRB C(010) ZRPRB
| |-----ZSTOP C(010) ZSTOP
| |-----ZZMCL C(010) ZZMCL
| |-----ZPRN_FLG1 C(010) ZPRN_FLG1
| |-----ZZSERIALIZED C(010) ZZSERIALIZED
| |-----ZPRN_FLG2 C(010) ZPRN_FLG2
| |-----ZZFRU C(010) ZZFRU
| |-----ZZMENGE C(010) ZZMENGE
| |-----PERKZ C(010) Period indicator
| |-----PERIV C(010) Fiscal Year Variant
| |-----STRGR C(010) Planning strategy group
| |-----VRMOD C(010) Consumption mode
| |-----VINT1 C(010) Bwd consumption per.
| |-----VINT2 C(010) Fwd consumption per.
| |-----MISKZ C(010) Mixed MRP
| |-----PRGRP C(010) Product group
| |-----PRWRK C(010) Production plant
| |-----UMREF C(010) Conversion factor
| |-----VPBME C(010) Planning matl BUnit
| |-----WZEIT C(010) Tot. repl. lead time
| |-----KZPSP C(010) Cross-project matl
| |-----STDPD C(010) ConfigurableMaterial
| |-----ALTSL C(001) Selection method
| |-----KAUSF C(010) Component scrap (%)
| |-----SBDKZ C(010) Individual/coll.
| |-----KZBED C(010) Requirements group
| |-----VERKZ C(010) Special stock maint.
| |-----AHDIS C(010) MRP dep.requirements
| |-----KZAUS C(010) Discontinuation ind.
| |-----AUSDT C(010) Effective-out date
| |-----NFMAT C(010) Follow-up material
| |-----SAUFT C(010) Sales value
| |-----SFEPR C(010) REM profile
| |-----MDACH C(010) Action control
| |-----DPLFS C(010) Fair share rule
| |-----DPLPU C(010) Push distribution
| |-----DPLHO C(010) Deployment horizon
|
|--5 ZFORC forecasting
| |-----MATNR C(020) Material_No
| |-----WERKS C(010) plant
| |-----PRMOD C(010) Forecast model
| |-----PERKZ C(010) Period indicator
| |-----PRDAT C(010) Last forecast
| |-----PERIV C(010) Fiscal Year Variant
| |-----VRBMT C(010) RefMatl: consumption
| |-----VRBWK C(010) RefPlant:consumption
| |-----VRBDT C(010) Date to
| |-----VRBFK C(010) Multiplier
| |-----PERAN C(010) Historical periods
| |-----ANZPR C(010) Forecast periods
| |-----PERIO C(010) Periods per season
| |-----PERIN C(010) Initialization pds
| |-----FIMON C(010) Fixed periods
| |-----KZINI C(010) Initialization
| |-----SIGGR C(010) Tracking limit
| |-----AUTRU C(010) Reset automatically
| |-----MODAW C(010) Model selection
| |-----MODAV C(010) Selection procedure
| |-----KZPAR C(010) Param.optimization
| |-----OPGRA C(010) Optimization level
| |-----GEWGR C(010) Weighting group
| |-----KZKFK C(010) Correction factors
| |-----ALPHA C(010) Alpha factor
| |-----BETA1 C(010) Beta factor
| |-----GAMMA C(010) Gamma factor
| |-----DELTA C(010) Delta factor
|
|--5 ZWSH Work scheduling
| |-----MATNR C(010) Material_No
| |-----WERKS C(010)
| |-----AUSME C(010) Unit of issue
| |-----FRTME C(010) Production unit
| |-----MMSTA C(010) Plant-sp.matl status
| |-----MMSTD C(019) Valid from
| |-----FEVOR C(010) Production scheduler
| |-----LGPRO C(010) Prod. stor. location
| |-----SFCPF C(010) SFCPF
| |-----MATGR C(010) MATGR
| |-----SERAIL C(010) Serial no. profile
| |-----OCMPF C(010) OCMPF
| |-----INSMK C(010) Stock type
| |-----KZKRI C(010) Critical part
| |-----VERKZ C(010) Special stock maint.
| |-----XCHPF C(010) Batch management
| |-----KZECH C(010) Batch entry
| |-----UNETO C(010) Underdely tolerance
| |-----UEETO C(010) Overdely tolerance
| |-----UEETK C(010) Unltd overdelivery
| |-----RUEZT C(010) Setup time
| |-----PRANZ C(010) Number of
| |-----DZEIT C(010) In-house production
| |-----EISBE C(010) Safety stock
| |-----BASMG C(010) Base quantity
|
|--5 ZPLS plant data storage
| |-----MATNR C(010) Material_No
| |-----WERKS C(010) plant
| |-----LGORT C(010) storage location
| |-----MEINS C(010) Base Unit of Measure
| |-----AUSME C(010) Unit of issue
| |-----LGPBE C(010) Storage bin
| |-----LWMKB C(010) LWMKB
| |-----TEMPB C(010) Temp. conditions
| |-----RAUBE C(010) Storage conditions
| |-----BEHVO C(010) Container reqmts
| |-----STOFF C(010) Haz. material number
| |-----ABCIN C(010) CC phys. inv. ind.
| |-----CCFIX C(010) CC indicator fixed
| |-----WESCH C(010) Number of GR slips
| |-----ETIAR C(010) Label type
| |-----ETIFO C(010) Label form
| |-----XCHPF C(010) Batch management
| |-----MAXLZ C(010) Max. storage period
| |-----LZEIH C(010) Time unit
| |-----MHDRZ C(010) Min. rem. shelf life
| |-----MHDHB C(010) Total shelf life
| |-----IPRKZ C(010) IPRKZ
| |-----RDMHD C(010) Rounding rule SLED
| |-----MHDLP C(010) Storage percentage
| |-----BRGEW C(010) Gross weight
| |-----GEWEI C(010) Weight unit
| |-----NTGEW C(010) Net weight
| |-----VOLUM C(010) Volume
| |-----VOLEH C(010) Volume unit
| |-----GROES C(010) Size/dimensions
| |-----XMCNG C(010) Neg. stocks in plant
| |-----LOGGR C(010) Log. handling group
| |-----SERAIL C(010) Serial no. profile
| |-----PRCTR C(010) Profit Center
| |-----EPRIO C(010) Withdr. seq. group
|
|--5 ZWMST WM Structure
| |-----MATNE C(010) MATNE
| |-----WERKS C(010)
| |-----LGNUM C(010) Warehouse Number
| |-----STOFF C(010) Haz. material number
| |-----LVSME C(010) LVSME
| |-----BRGEW C(010) Gross weight
| |-----GEWEI C(010) Weight unit
| |-----AUSME C(010) Unit of issue
| |-----VOLUM C(010) Volume
| |-----VOLEH C(010) Volume unit
| |-----VOMEM C(010) VOMEM
| |-----MKAPV C(010) MKAPV
| |-----BEZME C(010) BEZME
| |-----PLKPT C(010) PLKPT
| |-----XCHPF C(010) Batch management
| |-----LTKZA C(010) LTKZA
| |-----LTKZE C(010) LTKZE
| |-----LGBKZ C(010) LGBKZ
| |-----BLOCK C(010) Seq. blocked
| |-----BSSKZ C(010) BSSKZ
| |-----KZMBF C(010) Message to inv. mgmt
| |-----L2SKR C(010) L2SKR
| |-----KZZUL C(010) KZZUL
| |-----LHMG1 C(010) LHMG1
| |-----LHME1 C(010) LHME1
| |-----LETY1 C(010) LETY1
| |-----LHMG2 C(010) LHMG2
| |-----LHME2 C(010) LHME2
| |-----LETY2 C(010) LETY2
| |-----LHMG3 C(010) LHMG3
| |-----LHME3 C(010) LHME3
| |-----LETY3 C(010) LETY3
|
|--5 ZQMST QM Structure
| |-----MATNR C(010) Material_No
| |-----MEINS C(010) Base Unit of Measure
| |-----QMATV C(010) Inspection setup
| |-----AUSME C(010) Unit of issue
| |-----INSMK C(010) Stock type
| |-----QMATA C(010) QMATA
| |-----KZDKZ C(010) Documentation reqd
| |-----WEBAZ C(010) GR processing time
| |-----PRFRQ C(010) Inspection interval
| |-----RBNRM C(010) RBNRM
| |-----MMSTA C(010) Plant-sp.matl status
| |-----MMSTD C(010) Valid from
| |-----QMPUR C(010) QM proc. active
| |-----LANGU C(010) Language Key
| |-----ART C(010) ART
| |-----APA C(010) APA
| |-----AKTIV C(010) Total
|
|--5 ZACCO account cost
|
|-----MATNR C(010) Material_No
|-----WERKS C(019) plant
|-----BWTTY C(010)
|-----MLAST C(010) MLAST
|-----MLMAA C(010) MLMAA
|-----BKLAS C(010) Valuation Class
|-----EKLAS C(010) VC: Sales order stk
|-----QKLAS C(010) Proj. stk val. class
|-----VPRSV C(010) Price control
|-----PEINH C(010) Price unit
|-----VERPR C(010) Moving price
|-----STPRS C(010) Standard price
|-----LBKUM C(010) Total stock
|-----SALK3 C(010) Total value
|-----ZKPRS C(010) ZKPRS
|-----ZKDAT C(010) ZKDAT
|-----STPRV C(010) Previous price
|-----LAEPR C(010) Last price change
|-----BWPRS C(010) Tax price 1
|-----BWPS1 C(010) Tax price 2
|-----VJBWS C(010) Tax price 3
|-----BWPRH C(010) Commercial price 1
|-----BWPH1 C(010) Commercial price 2
|-----VJBWH C(010) Commercial price 3
|-----ABWKZ C(010) Devaluation ind.
|-----BWPEI C(010) Price unit
|-----XLIFO C(010) LIFO/FIFO-relevant
|-----MYPOL C(010) MYPOL
|-----NCOST C(010) NCOST
|-----EKALR C(010) EKALR
|-----HRKFT C(010) Origin group
|-----HKMAT C(010) Material origin
|-----KOSGR C(010) KOSGR
|-----AWSLS C(010) Variance Key
|-----SOBSK C(010) SOBSK
|-----LOSGR C(010) Planned lot size
|-----KZKUP C(010) Co-product
|-----FVIDK C(010) FVIDK
|-----PPRDZ C(010) Period
|-----PDATZ C(010) Fiscal year
|-----ZPLRP C(010) ZPLRP
|-----PPRDL C(010) PPRDL
|-----PDATL C(010) PDATL
|-----LPLPR C(010) LPLPR
|-----PPRDV C(010) PPRDV
|-----PDATV C(010) PDATV
|-----VPLPR C(010) PreviousPlannedPrice
|-----ZPLP1 C(010) ZPLP1
|-----ZPLD1 C(010) ZPLD1
|-----ZPLP2 C(010) ZPLP2
|-----ZPLD2 C(010) ZPLD2
|-----ZPLP3 C(010) ZPLP3
|-----ZPLD3 C(010) ZPLD3
In 4th step what to do could you pleas sggest me
ZCPROJ - ZCSUB - ZCOBJ demo on object
Structure Relations
|
|--5 BGR00 Batch Input Structure for Session Data
| Select Target Structure BGR00 .
|
|--5 BMM00 Material Master: Transaction Data for Batch Input
| Select Target Structure BMM00 .
|
|-----BMMH1 Material Master: Transfer of Main Data
| Select Target Structure BMMH1 .
|-----BMMH2 Material Master: Country Data for Batch Input (from 2nd Cty)
|-----BMMH3 Material Master: Forecast Values for Batch Input
|-----BMMH4 Material Master: Consumption Values for Batch Input
|-----BMMH5 Mat. Master: Descriptions for Batch Input (Except 1st Text)
|-----BMMH6 Material Master: Units of Measure for BTCI
|-----BMMH7 Material Master: Long Texts for Batch Input
|-----BMMH8 Material Master: Referential EANs for BTCI
in this step these structures are have some fields but in source structure which i created previous steps each structure have fields which are not there in these strcture
could you lease suggest me what to do
regard,
Chaitanya<b>>Place the cursor on Maintain Source Relations on the LSMW workbench screen and press the Execute button.
>Press the Display<->Change button to switch to Edit mode.
>Here you must map the fields of the source structure with the fields of the destination structure.
>This mapping is important as it will direct the data in the fields from the Source Structure (populated from flat file) to the appropriate fields in the Destination Structure.
Regards,
Pavan P.
</b> -
Mapping exception in XI :Cannot produce target element
Hi All,
This is for RFC-to-JDBC Scenario.
I import an RFC from SAP for Vendor Master ( BTE Event : 00001421). In that there are tables and structures.
When i create a Vendor in transaction XK01, if i dont fill any of the values in structure WYT3, it gives an exception in mapping in XI when i test it in Message Mapping ( Cannot produce target element /ns1:MT_MDM_RECEIVER/STATEMENT1/NC_SUPPLIERMASTER/ACCESS/PARTNERTYPE. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd ).
In the XML format in XI at sender side it doesn`t show the fields in the structure at all if it doesnt have any data.
Thanks & Regards,
RuchiHi Suraj,
The sender xml is a structure(FWYT3) which might have data and might not , -
- <xsd:complexType name="FWYT3">
- <xsd:sequence>
- <xsd:element name="PARVW" minOccurs="0">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
If this structure doesnt have data it`ll only show like this in sender xml,ni.e it doesnt show the fields in this structure (T_YWYT3).So this field parvw is mapped to partnertype in target.But when parvw doesnt have any data this field is not at all displayed in this structure WYT3.
- </T_YWYT3>
The target xml structure is whose occurence is '1'-
- <xsd:element name="PARTNERTYPE" default="Supplier">
- <xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">d27dbd80e40b11da8293ece80a9821f4</xsd:appinfo>
</xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="40" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Thanks & Regards,
Ruchi
Maybe you are looking for
-
SCCM 2012 SP1 - OS Deployment - hash could not be matched for the downloded content
I've got a newly deployed SCCM 2012 SP1 running on Windows Server 2012. The W2K12 runs as vm on ESX 5.1. I'm having very odd issues with OS deployment. The TS keeps failing when processing SCCM client installation - it downloads the package but then
-
Servlet executes only once, the first time???
Hello evrybody, I'll try to be specific regarding the problem. I have an HTML file called Login.html. When I click on this file, a page opens allowing the user to enter his/her username and password. So, I compiled my servlet and I clicked on the Log
-
There was a problem loading the application
I find that I can log into iCloud with no problem but after, that every time I try to open an app I get the message "there was a problem loading the application" I'm using Safari 7.0.5 This has been going on for quite some time and during that period
-
N95-1 I'm on my 3rd Original Nokia Charger be warn...
N95-1 I'm on my 3rd Original Nokia Charger be warned not everything third party is usless and the wire is thicker! 3rd party batteries often suck. and Nokia chargers are NOT guarunteed either, just had to order another original Battery and docking st
-
Lightroom 5.4 crashes when opening Preferences
Light room crashes everytime I try to open the Preferences menu. I've tried renaming the preferences file, deleting it, uninstalling the program and reinstalling but this still happens. I've found a few other posts on the forums with this same issue