Commentary write function module
Hi all ,
I am new to oo alv . I have a requirement of commentary write for header. Well i would like to know whether we should use the same reuse_alv_commentar_write function module even in oo alv or are there any other function modules. Give me any standard program if any?
sample code will be apprecited.
Hi,
Check out the includes,
BCALV_TEST_HEADER_PAI
BCALV_TEST_HEADER_PBO
Regards,
Azaz Ali.
Similar Messages
-
Possibility to write Functional module in "end routines"
Hello guys,
Can you please tell me whether we can write functional module in end routines or not??? If yes,then what is the procedure?
Thanks in advance,
Regards,
Bunty.End routines are a feature of BI 7.0, allowing you to take the end results of a transformation, and muck it about with ABAP.
It is not possible to WRITE function modules in end routines. But it is possible to use them. Function modules exist inside function groups - not end routines. -
Function Module where-used list does not find update rule programs
We have function modules called in update rules. The where-used list in the function builder does not find the update rule programs.
For example, function DATE_GET_WEEK is called in an update rule to InfoCube YCUBE001. The activated program name for this update rule is GP3PWI6PKM5Y3K75A370DIS8I77. When I goto SE37, enter the function DATE_GET_WEEK, click the where-used button, check the programs option and search. The system does not find the program GP3PWI6PKM5Y3K75A370DIS8I77.
Without this search capability it is difficult to do an impact analysis of changing function modules. Does anyone know of a solution?hi,
i think the reason is the code of update rules' generated program are stored line by line in table(rsaabap), update rules program itself stored in table rsupdrout, link with field codeid, another useful table is rsupdinfo which store infocube, infosource related. other info may stored in some other rs* and rsa* tables.
try to create following program in your system, and run, type in the function module name, and will display out the update rules program id, with additional useful info : which infoprovider, infosource, and detail info of the routine and infoobject in the update rule that using that function module. you may modify the program to have better display out list.
hope this helps.
REPORT Z_FM_UPDRUL_WHEREUSED.
data : lv_sfm,
lv_line type string,
lv_where type string.
tables : rsaabap,RSUPDROUT,rsupdinfo.
select-options:
s_fm for rsaabap-LINE.
start-of-selection.
loop at s_fm.
concatenate s_fm-low ' ' into lv_sfm.
concatenate '%' s_fm-low into lv_line.
concatenate lv_line '%' into lv_line.
write : / 'function module', 'update rule id', 'routine id', 'infoobject', 'infocube', 'infosource'.
select * from rsaabap
where line like lv_line and objvers = 'A'.
select * from rsupdrout
where codeid = rsaabap-codeid and objvers = 'A'.
select single * from rsupdinfo
where updid = rsupdrout-updid and objvers = 'A'.
write: / lv_sfm, rsupdrout-updid, rsaabap-codeid,
rsupdrout-iciobjnm, rsupdinfo-infocube,
rsupdinfo-isource.
endselect.
endselect.
endloop. -
When are function modules written?
Hai All,
FIRST OF ALL, HAPPY NEW YEAR.
For custom extractions, when do we need to write function modules? Is it for Master data or anything in particular... I know this is very general and vague question. But can somebody give me some examples to help understand.
Thank you very much.Hi,
mostly you use function modules for extraction in case the data cannot easily be extracted by a view or from the table directly.
1st example: If you need to read the change documents (cdhdr, cdpos) to get the new/changed/deleted data of one or more tables within a specific time frame (delta).
2nd example: Your table contains a creation and a change date. You want to extract (via generic delta) all records created or changed in a specific time frame. As the change date is only populated after a change, you need to do a select on both date fields to get the delta.
Hope this helps!
regards
Siggi -
Testing Function Module before using in DataSource?
Hi Experts,
After writing a Function module for Transaction DataSouce (by copying RSAX_BIW_GET_DATA_SIMPLE), is there any way to test the Function Module before using in Transaction DataSource? (to see how many records it retrieves).
Also can somebody please throw some light in understanding the source code of RSAX_BIW_GET_DATA_SIMPLE function module, as it has many declarations like E_T_DATA,
I_T_SELECT which will be used in the new function module?
Looks like, the function module RSAX_BIW_GET_DATA_SIMPLE uses only one table SPFLI.
If it is just one table why do we need to write function module to extract data?
Forgive me for my lack of ABAP knowledge.
Thank you,
LakshmiThe generic function moduel is used when there is no BW extractor and you cannot get to the data via a view or table
The extractor is quite simple
You create a extract strcuture of data to send to BW
Then you create the function module - e_t_data takes on the extract structure
The select options read data via the infopackage selection from BW (and thus when you create your datasource you shoudl click the fields to be select option)
So in the ABAP
You read the select option and put them into a range
You select from which ever tables you need to in R3 and put into an itab
You then loop aroudn the itab and manipulate the data or read other tables
The data finally ends up in e_t_data
The whole thing gets looped around based on the size of the data package - ie if it is 10000 records then the fetch next cursor after 10000 records will send the package of e_t_data out to the refc scheduler and down the line to BW - then the fetch next cursor will get the next 10000 records for the next
I use this all the tiem (so sorry for the brain dump)
I especially use it for virtual cubes - ie to get real time data from R3 from within BW - the data is not requested by ipak but by the query at runtime against a Virtual cube which connects to this generic extractor
Note: this generic extractor can also live on the BW side - ie you can use it instead of APD to snapshot cube or DSO data to send as an ipak into another cube -
Hi
I want to learn how to write function modules in ABAP please guide me how should I proceed to learn it as fast as I can.
Are there any Demos or PDF documents for that.
I have gone through ABAPDocu but it has a lot of unwanted materials as well and I found it a bit unstructured to learn writing function modules.Hi,
Please chek this link
Function Groups
http://help.sap.com/saphelp_nw70/helpdata/en/9f/db992335c111d1829f0000e829fbfe/content.htm
Creating Function Modules
http://help.sap.com/saphelp_nw70/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
Best regards,
Brijesh -
Unable to write, type anything in source code of a function module.
Hi all,
We have a registered name space for our client called /ABCD/EFG.
I need to create a function module in the name space.
So first I created a Function Group called /ABCD/EFG_FG in /ABCD/EFG. I activated it in se80.
Then I created a Function Module called /ABCD/EFG_FM in /ABCD/EFG. I declared the import and export paramters and now I am trying to add the code in source code and the editor does not let me change the source code donu2019t know why.. and every thing is in grey color.
Can some one tell me what is going wrong? Cant we write any logic in the function module that we create in registered name spaces? When I created the same function module as a local object in $TMP package I dint have any problem. Similarly I created the function module in a Z package and I dint have any problem but if I try to create the same function module in a registered name space it is getting created but it doesnu2019t not let me type anything in the source code of the function module.
Did any body encounter this problem earlier? Kindly please help.
Regards,
Jessica SamRich,
Thanks a lot, that worked. Now it lets me type and change the source code of the editor.
But while i was turing off the assistant it showed me 2-3 messages saying that "i cannot track the changes" and that "during upgrade i cant track the changes " etc.
So now i can type in source code and i am able to change in source code..but will the trurning of this assistant cause any problmes in future or during upgrade?
Regards,
Jessica Sam -
How to write the exceptions in function module
dear all,
how to write the exceptions in function modules with example.
thanq
jyothiHi,
Raising Exceptions
There are two ABAP statements for raising exceptions. They can only be used in function modules:
RAISE except.
und
MESSAGE.....RAISING except.
The effect of these statements depends on whether the calling program handles the exception or not. The calling program handles an exception If the name of the except exception or OTHERS is specified after the EXCEPTION option of the CALL FUNCTION statement.
If the calling program does not handle the exception
· The RAISEstatement terminates the program and switches to debugging mode.
· The MESSAGE..... RAISING statement displays the specified message. Processing is continued in relation to the message type.
If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE..... RAISING statement does not display a message. Instead, it fills the system fields sy-msgid, sy-msgty, sy-msgno , and SY-MSGV1 to SY-MSGV4.
Source Code of READ_SPFLI_INTO_TABLE
The entire source code of READ_SPFLI_INTO_TABLE looks like this:
FUNCTION read_spfli_into_table.
""Local Interface:
*" IMPORTING
*" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
*" EXPORTING
*" VALUE(ITAB) TYPE SPFLI_TAB
*" EXCEPTIONS
*" NOT_FOUND
SELECT * FROM spfli INTO TABLE itab WHERE carrid = id.
IF sy-subrc NE 0.
MESSAGE e007(at) RAISING not_found.
ENDIF.
ENDFUNCTION.
The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table spfli_tab. If it cannot find any entries, the exception NOT_FOUND is triggered with MESSAGE ... RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
Calling READ_SPFLI_INTO_TABLE
The following program calls the function module READ_SPFLI_INTO_TABLE:
REPORT demo_mod_tech_fb_read_spfli.
PARAMETERS carrier TYPE s_carr_id.
DATA: jtab TYPE spfli_tab,
wa LIKE LINE OF jtab.
CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
EXPORTING
id = carrier
IMPORTING
itab = jtab
EXCEPTIONS
not_found = 1
OTHERS = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
WHEN 2.
MESSAGE e702(at).
ENDCASE.
LOOP AT jtab INTO wa.
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ENDLOOP.
The actual parameters carrier and jtab have the same data types as their corresponding interface parameters in the function module. The exception NOT_FOUND is handled in the program. It displays the same message that the function module would have displayed had it handled the error.
Or
just have to decide what exceptions u want and under what conditions.
then declarethese exeptions under the exceptions tab.
in the source code of ur function module.
if
like this u can code .
now when u call the function module in tme mainprogram.
if some error occurs and u have declared a exception for this then it will set sy-subrc = value u give inthe call of this fm.
in the fm u can program these sy-subrc values and trigger the code for ur exception.
Please reward if useful
Regards,
Ravi
Edited by: Ravikanth Alapati on Mar 27, 2008 9:36 AM -
User exit function module include how to write the code
hi all,
i am creating user exit for ME22N using this enhance MM06E005 .
in this i created subscreen and set some fields .
that data has to be stoe in EKPO.
inside the include i have to write the logic plz guide me how to follow .
once i enter it will store on wish internal table and wish internal table to shall i move to EKPO .
If Tcode is ME23N how to display data in disable mode.
Regards,
Hari.This is the code inside the function module .
once i enter data in custom field the below wish table it will store.
FUNCTION EXIT_SAPMM06E_016.
""Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_EKPO) LIKE EKPO STRUCTURE EKPO
*" VALUE(I_AKTYP)
*" VALUE(I_CI_EKPO) LIKE EKPO_CI STRUCTURE EKPO_CI
*" VALUE(I_BSTYP) LIKE EKKO-BSTYP
*" VALUE(I_NO_SCREEN)
*" VALUE(I_LFA1) LIKE LFA1 STRUCTURE LFA1
*" VALUE(I_LFM1) LIKE LFM1 STRUCTURE LFM1
*" VALUE(I_EKKO) LIKE EKKO STRUCTURE EKKO
*" VALUE(I_REKPO) LIKE EKPO STRUCTURE EKPO OPTIONAL
*" VALUE(I_KEKPO) LIKE EKPO STRUCTURE EKPO OPTIONAL
*" VALUE(I_AEKPO) LIKE EKPO STRUCTURE EKPO OPTIONAL
*" VALUE(I_REBAN) LIKE EBAN STRUCTURE EBAN OPTIONAL
*" VALUE(I_MT06E) LIKE MT06E STRUCTURE MT06E OPTIONAL
*" VALUE(I_EINA) LIKE EINA STRUCTURE EINA OPTIONAL
*" VALUE(I_EINE) LIKE EINE STRUCTURE EINE OPTIONAL
*" VALUE(I_EKPO_OLD) LIKE EKPO STRUCTURE EKPO OPTIONAL
*" VALUE(I_KOMP) LIKE KOMP STRUCTURE KOMP OPTIONAL
*" VALUE(I_ENJ_CALL) OPTIONAL
*" TABLES
*" TEKPO STRUCTURE BEKPO OPTIONAL
*" TEKET STRUCTURE BEKET OPTIONAL
*" TEKKN STRUCTURE EKKNU OPTIONAL
*" TKOMV STRUCTURE KOMV OPTIONAL
INCLUDE ZXM06U41 .
ENDFUNCTION.
inside the INCLUDE ZXM06U41 . i writen this code
*& Include ZXM06U41
DATA :
FS_EKPO TYPE EKPO_CI.
IF ( SY-TCODE EQ 'ME22N' OR SY-TCODE EQ 'ME23N'
OR SY-TCODE EQ 'ME22' OR SY-TCODE EQ 'ME23' ) .
LOOP AT TEKPO.
IF ( TEKPO-EBELN EQ i_EKPO-EBELN
AND TEKPO-EBELP EQ i_EKPO-EBELP ) .
EKPO_CI-ZMATERIAL = TEKPO-ZMATERIAL.
EKPO_CI-ZQUANTITY = TEKPO-ZQUANTITY.
EKPO_CI-ZUNIT = TEKPO-ZUNIT.
EKPO_CI-ZPRICE = TEKPO-ZPRICE.
EKPO_CI-ZCURRENCY = TEKPO-ZCURRENCY.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
Hari. -
Report Writer/Painter Function Module
Hi all:
Is there any way (function module, class method, etc) to obtain the information generated in the FI-CO Report Writer/Painter?
Best RegardsDear Vicotor,
Can you help me in the said function?
Thanks
Ayaz -
How to write a function module?
How can i write a function module that does the same thing as BAPI_FLIGHT_GETLIST in the SAP system?
Hi
Hope it will help you.
Reward if help.
Function Modules;
Check this matter.
Function Modules are Global ABAP programs created by SAP for reusable purpose.they have IMPORT,EXPORT and TABLE parameters, and EXCEPTIONS to through when error occurs.
You can create them from TCode SE37.
Go through the following doc:
Function modules are cross-program, reusable procedures that are organized into function groups, and whose functions are implemented between the statements FUNCTION and ENDFUNCTION. Function modules and their interfaces are created in the Function Builder.
Function Module Interfaces
The parameter interface of a function module is defined in the Function Builder. It includes the definition of interface parameters and the specification of exceptions that can be triggered by a function module. The Function Builder automatically generates comment lines below the FUNCTION statement in the source code of the function module, which represent the interface of the function module with the following syntax:
Syntax
... [IMPORTING parameters]
[EXPORTING parameters]
[CHANGING parameters]
[TABLES table_parameters]
[{RAISING|EXCEPTIONS} exc1 exc2 ...]
The syntax and semantics of IMPORTING, EXPORTING, CHANGING, RAISING, and EXCEPTIONS mainly correspond to the definition of method interfaces with [CLASS-]METHODS. The additional option of defining table parameters using TABLES is obsolete.
Interface parameters
The interface parameters are defined on the relevant tab pages in the Function Builder.
IMPORTING parameters are input parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input parameter. The content of the actual parameter is passed to the input parameter when the call is made. The content of an input parameter for which 'pass by reference' is defined cannot be changed in the function module.
EXPORTING parameters are output parameters. When the function module is called, a suitable actual parameter can be specified for every output parameter. The content of an output parameter that is defined for 'pass by value' is transferred to the actual parameter if the function module is completed without errors. An output parameter that is defined for pass by reference is not initialized when the function module is called.
CHANGING parameters are input and output parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input or output parameter. When the function module is called, the content of the actual parameter is passed to the input/output parameter, and when the function module is completed, the content of the input/output parameter is passed to the actual parameter.
TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
Exceptions
The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
Note
For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
RFC is a technology which is used to access a functions (Modules) from
the remote systems.
If a function module is set as remote enabled which can be access from
the remote system via RFC.Eg: U can access the Remote enabled function modules in ur VB,Webdynpro,Java,Visual composer program.
A function module can be set as remote enabled by SE37->Go to ur FM->click the option Button "remote enabled".
But Normal function modules can not accessd from the remote system.
Good Example for RFC enabled function module is : BAPI(Business Application Programming Interface)
Note: All BAPIs are Remote enabled but not all remote enabled function modules are BAPI.
CALLING A FUNCTION MODULE:
1)In U ABAP Editor --> Click "Patter" ---> Selection Option Button "Call Function"
--> Write the Corresponding FM name --> Hit Enter
2)The appropriate import ,export Parameters will be displayed in ur editor
3)Pass the Values Here.
Also check these links.
http://www.geocities.com/victorav15/sapr3/abapfun.html
Check this link:
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
Check this link:
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
See the following links:
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm -
Can we write leave program syntax in RFC function module.
hello friends,
can we write leave program syntax in RFC function module. Iam developing RFC Function module .
useful answers will be awarded..
Regards
Kanth
Edited by: Kanth on Mar 30, 2008 11:38 PMDon't use leave program in RFC function module. You can better use EXIT or RETURN. But when developing RFC modules you should use the return structure BAPIRET2 to store message generated in the calling system. So when you use EXIT or RETURN, first give a message so the calling program knows why the RFC module was exited.
-
How to find which function module write the relevant idoctype?
Dear All,
how to find which function module write the relevant idoctype?Hi,
Generally the function modules of the idoc types are having a naming convention as IDOC_INPUT for inbound processing and IDOC_OUTPUT for outbound processing followed by the idoc type name
for example : For IDOC type ORDERS
the inbound function module will be IDOC_INPUT_ORDERS and for outbound IDOC_OUTPUT_ORDERSP
In this way you can find the function module for a particular IDOC
P.S: Hope this is what you have asked for
Regards
Sarves -
Any function module/program to write-xml schema of a idoctype
Hi experts,
I need to write the xml format into an internal table.
input---idoc type.
output--xml schema file in an internal table/or in some file.
Through we60 we can get the xml schema.but through some program i want to get it .how to go for it.
Any function module do you suggest which fits to this requirement and do the work for me.
For ex: idoc type--orders05
Message was edited by:
dasr rHello Dasr
There are several function modules available. Please check yourself if any of them matches your demands.
EDIN IDoc: Eingangsverarbeitung
IDOC_INBOUND_XML_VIA_HTTP eingang über http
IDOC_XML_FROM_FILE IDoc: Eingangsverarbeitung vom XML über Dateischnittstelle
IDOC_ADAPTER_MB Message Broker IDoc Adapter
IDX_IDOC_TO_XML Konvertierung IDoc nach IDoc XML im XMB
IDOC_XML1 erweiterte Tabellenpflege (generiert)
IDOC_XML_DISPLAY Anzeigen eines IDocs in XML-Format mit XSL
IDOC_XML_TRANSFORM Anzeigen eines IDocs in XML-Format mit XSL
Regards
Uwe -
Function Module to Pause / Wait write statement
Hello Everyone !
Write 'ABC'.
Write 'XYZ'.
In between this statement I want a pause.
ABC should be displayed and after few seconds XYZ should be displayed.
Which function module can be used for this ???Hi Vaibhav,
The output screen's are passive in nature and cannot be refreshed, if your intention is to update the user with a message or something, you could use the status bar and issue the messages to the user, or use the FM SAPGUI_PROGRESS_INDICATOR below is a code snippet using the same.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
text = 'Hi.........'
WAIT UP TO 5 SECONDS.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
text = 'Hi22222.......'
WAIT UP TO 5 SECONDS.
Regards,
Chen
Maybe you are looking for
-
How can i sign in on my sync account??
i signed out from firefox home and i cant signed in again ... and in firefox 4 desktop its only has in sync option Set up firefox sync when i press it and press i have account it gave me code also on iphone ... so what i should do... i need to transf
-
Connection to (Home-) wi-fi not possible
I have got the whole bunch placed on my Ipod touch, but when trying to connecting to internet or email etc. it asks me for my network in the blue screen: input password for "Fritz!Box Fon WLAN 7170 Annex A" It answers "No connection possible with net
-
I keep getting messages that indicate that I will lose my 20 GB complimentary storage. "Your complimentary iCloud storage upgrade expires on September 30, 2013." When I go to my icloud settings - it shows that I am on the 20GB plan for $40. What give
-
File saved as .5 file type with CS5, How to Open in CS5
I've been working on a certificate and i saved it without looking at the file type. For some reason it set the file type to (.5). What is that? Is there any way I can open it again in CS5? Is there a file converter I could use. I just need to basical
-
Can you turn the iPad mini into a "phone" ?
Is it possible to turn the Ipad mini into a "phone" ?